1.算数运算符:原生bash不支持简单的数学运算,但是可以通过其他的命令实现,例如awk和expr,expr最常用
expr是一款表达式计算工具,使用它能完成表达式的求值操作
例如:
val=`expr 2 + 2` echo "两数之和为 :$val"
两点注意:
**表达式和运算符之间要有空格,例如2+2是不对的,必须写成2 + 2,这与我们熟悉的大多数编程语言不一样
**完整的表达式要被``包含,这不是单引号,而是反引号
2.算数运算符实例:
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
运行结果:
- 乘号(*)前边必须加反斜杠()才能实现乘法运算;
- if...then...fi 是条件语句,后续将会讲解。
3.关系运算符:关系运算符只支持数字,不支持字符串,除非字符串的值是数字
4.关系运算符实例:
a=10 b=20 if [ $a -eq $b ] then echo "$a -eq $b:a=b" else echo "$a -eq $b:a!=b" fi if [ $a -ne $b ] then echo "$a -ne $b:a!=b" else echo "$a -ne $b:a=b" fi if [ $a -gt $b ] then echo "$a -gt $b:a>b" else echo "$a -gt $b:a!>b" fi if [ $a -lt $b ] then echo "$a -lt $b:a<b" else echo "$a -lt $b:a!<b" fi if [ $a -ge $b ] then echo "$a -ge $b:a>or=b" else echo "$a -ge $b:a<b" fi if [ $a -le $b ] then echo "$a -le $b:a <or= b" else echo "$a -le $b:a>b" fi
运行结果:
5.布尔运算符:
关系运算符实例:
a=10 b=20 if [ $a != $b ] then echo "$a !=$b:a != b" else echo "$a !=$b:a = b" fi if [ $a -lt 100 -a $b -gt 15 ] then echo "$a 小于 100 且 $b 大于 15 : 返回 true" else echo "$a 小于 100 且 $b 大于 15 : 返回 false" fi if [ $a -lt 100 -o $b -gt 100 ] then echo "$a 小于 100 或 $b 大于 100 : 返回 true" else echo "$a 小于 100 或 $b 大于 100 : 返回 false" fi if [ $a -lt 5 -o $b -gt 100 ] then echo "$a 小于 5 或 $b 大于 100 : 返回 true" else echo "$a 小于 5 或 $b 大于 100 : 返回 false" fi
运行结果: