运算符
- $((运算式))
- $[运算式]
- expr 运算符 # 注意:expr运算符间要有空格
2. 常用运算符
假定变量 a 为 10,变量 b 为 20:
说明 | 举例 | |
---|---|---|
+ | 加法 | expr $a + $b 结果为30 |
- | 减 | |
* | 乘 | |
/ | 除法 | |
% | 取余 | |
= | 赋值 | |
== | 相等,用于比较两个数,相同则返回true | [$a==$b] 返回true |
!= | 不相等,用于比较两个数,不相同则返回true | [$a!=$b] 返回true |
3. 案例实操
[root@slave2 ~]# $((2+3)) -bash: 5: command not found [root@slave2 ~]# $((2 + 3)) -bash: 5: command not found [root@slave2 ~]# $[2+4] -bash: 6: command not found [root@slave2 ~]# $[2 + 4] -bash: 6: command not found [root@slave2 ~]# expr 3 + 4 7 [root@slave2 ~]# `expr 3 + 4` -bash: 7: command not found [root@slave2 ~]# R=`expr 3 + 4` [root@slave2 ~]# echo $R 7 [root@slave2 ~]# R=expr 3 + 4 -bash: 3: command not found [root@slave2 ~]# R=$[4+9] [root@slave2 ~]# echo $R 13 [root@slave2 ~]# R=$[9 + 9] [root@slave2 ~]# echo $R 18 [root@slave2 ~]# R=$((4+9)) [root@slave2 ~]# echo $R 13 [root@slave2 ~]# R=$((8 + 9)) [root@slave2 ~]# echo $R 17 [root@slave2 testshell]# vim ArithmeticOperation.sh #!/bin/bash a=10 b=20 val=`expr $a + $b` echo "a + b : $val" val=`expr $a - $b` echo "a - b : $val" val=`expr $a \* $b` echo "a * b : $val" val=`expr $b / $a` echo "b / a : $val" val=`expr $b % $a` echo "b % a : $val" if [ $a == $b ] then echo "a 相等 b" fi if [ $a != $b ] then echo "a 不相等 b" fi ~ [root@slave2 testshell]# ./ArithmeticOperation.sh a + b : 30 a - b : -10 a * b : 200 b / a : 2 b % a : 0 a 不相等 b
4. 注意
- 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样