算数运算
expr(注意乘法)
ptmax@ubuntu:~$ a=123
ptmax@ubuntu:~$ b=789
# 加法
ptmax@ubuntu:~$ c=`expr "$a" + "$b"` #c=`expr $a + $b`也可
ptmax@ubuntu:~$ echo $c
912
#减法
ptmax@ubuntu:~$ c=`expr $a - $b`
ptmax@ubuntu:~$ echo $c
-666
#整除
ptmax@ubuntu:~$ c=`expr $a / $b`
ptmax@ubuntu:~$ echo $c
0
#乘法
ptmax@ubuntu:~$ c=`expr $a \* $b` #乘号前必须加'\'
ptmax@ubuntu:~$ echo $c
97047
$[表达式](无需注意乘法)
#加法
ptmax@ubuntu:~$ c=$[a+b]
ptmax@ubuntu:~$ echo $c
912
#减法
ptmax@ubuntu:~$ c=$[a-b]
ptmax@ubuntu:~$ echo $c
-666
#整除
ptmax@ubuntu:~$ c=$[a/b]
ptmax@ubuntu:~$ echo $c
0
#乘法
ptmax@ubuntu:~$ c=$[a*b]
ptmax@ubuntu:~$ echo $c
97047
ptmax@ubuntu:~$
逻辑运算
注意 [[表达式]] 写法
#!/bin/bash
# author:菜鸟教程
a=10
b=20
if test $a -lt 100 && test $b -gt 100 #或者[[ $a -lt 100 && $b -gt 100 ]]
then
echo "返回 true"
else
echo "返回 false"
fi
if test $a -lt 100 || test $b -gt 100 #或者[[ $a -lt 100 || $b -gt 100 ]]
then
echo "返回 true"
else
echo "返回 false"
fi
布尔运算符
注意 [![ a !=b ]] 与 [ a ==b ] 含义相同
a=10
b=20
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
网友评论