算术运算符
用`expr`表示算数运算,以下是加减乘除的代码
a=10
b=5
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 $a / $b`
echo "a/b: ${val}"
效果如下图:
关系运算符
数字之间比较,但是如果字符串是数字也可以,试了一下直接用大于小于号不行
a=10
b=5
#it is ok
#a="10"
#b="5"
if [ $a -eq $b ]
then
echo "$a = $b"
else
echo "$a != $b"
fi
效果如下:
同样的关系运算符还有:
- ne:与eq相反,不想等返回true
- gt:左边大于右边返回true
- lt:左边小于右边返回true
- ge:左边大于等于右边返回true
- le:左边小于等于右边返回true
布尔运算符
- !:非运算
- -o:或运算
- -a:与运算
a=10
b=5
if [ $a -eq $b -o $a -gt 1 ]
then
echo "true"
else
echo "false"
fi
效果如下:
字符串运算符
a="abc"
c="dsa"
if [ $a = $c ]
then
echo "true"
else
echo "false"
fi
b=""
if [ -z $b ]
then
echo "true"
else
echo "false"
fi
if [ -n $a ]
then
echo "true"
else
echo "false"
fi
if [ $d ]
then
echo "true"
else
echo "false"
fi
效果如图