目录
1、简介
2、例子
1、简介
Shell 和其他编程一样,支持包括:算术、关系、布尔、字符串等运算符。原生 bash 不支持简单的数学运算,但是可以通过其他命令来实现,例如expr。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。
例如,两个数相加:
val=`expr 2 + 2` echo $val |
注意:
表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2。
完整的表达式要被` `包含,注意不是单引号,在 Esc 键下边。
下表列出了常用的算术运算符,假定变量 a为10,变量b为20:
运算符 | 说明 | 举例 |
+ | 加法 | `expr $a + $b` 结果为 30。 |
- | 减法 | `expr $a - $b` 结果为 -10。 |
* | 乘法 | `expr $a \* $b` 结果为 200。 |
/ | 除法 | `expr $b / $a` 结果为 2。 |
% | 取余 | `expr $b % $a` 结果为 0。 |
= | 赋值 | a=$b 将把变量 b 的值赋给 a。 |
== | 相等。用于比较两个数字,相同则返回 true。 | [ a == b ] 返回 false。 |
!= | 不相等。用于比较两个数字,不相同则返回 true。 | [ a != b ] 返回 true。 |
注意:条件表达式要放在方括号之间,并且要有空格,例如: [a==b] 是错误的,必须写成 [ a == b ]
2、例子
test11.sh
#!/bin/bash a=4 b=20 #加法运算 echo `expr $a + $b` #减法运算 echo `expr $a - $b` #乘法运算,注意*号前面需要反斜杠 echo `expr $a \* $b` #除法运算 echo `expr $a / $b` #此外,还可以通过$(())、$[]进行算术运算。 echo "a = $a" c=$((a+b)) d=$[a+b] echo "c = $c" echo "d = $d" |
往期回顾:
一、shell编程简介
二、shell编程快速入门
三、shell - 变量
四、shell - 字符串