前言
Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。种类相对比较多,能比较完善的支持运算。
1.算术运算符
我们先看下如下示例:
#!/bin/sh
a=10
b=20
val=`expr $a + $b` #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 is equal to b"
fi
if [ $a != $b ]
then
echo "a is not equal to b"
fi
输出结果如下:
a + b : 30
a - b : -10
a * b : 200
b / a : 2
b % a : 0
a is not equal to b
原生 bash 不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用
条件表达式要放在方括号之间,并且要有空格,例如 [ a = = a== a==b] 是错误的,必须写成 [ $a == $b ]
2.关系运算符
关系运算符只支持数字,不支持字符串,除非字符串的值是数字。
示例如下:
#!