shell学习笔记之四——运算符
-
运算符
bash不支持运算,要使用该其他命令如awk和expr
val=`expr 2 + 2` #注意表达式和运算符之间加空格 #注意是反引号
关系运算符
- -eq 检测两个数是否相等,相等返回true
- -ne 检测不相等
- -gt 检测左大于右
- -lt 检测左小于右
- -ge 检测左大于等于右
- -le 检测左小于等于右
a=10 b=20 if [
b ] then echo " b : a 等于 b" else echo " b: a 不等于 b" fi if [ b ] then echo " b: a 不等于 b" else echo " b : a 等于 b" fi # #也可以[ b ] # if [ b ] then echo " b: a 大于 b" else echo " b: a 不大于 b" fi if [ b ] then echo " b: a 小于 b" else echo " b: a 不小于 b" fi if [ b ] then echo " b: a 大于或等于 b" else echo " b: a 小于 b" fi if [ b ] then echo " b: a 小于或等于 b" else echo " b: a 大于 b" fi 布尔运算符
- ! 非
- -o 或
- -a 与
a=10 b=20 if [
b ] #可以使用if [ ! b ] then echo " b : a 不等于 b" else echo " b: a 等于 b" fi if [ b -gt 15 ] then echo " $a 小于 100 且 $b 大于 15 : 返回 true" else echo " $a 小于 100 且 $b 大于 15 : 返回 false" fi if [ b -gt 100 ] then echo " $a 小于 100 或 $b 大于 100 : 返回 true" else echo " $a 小于 100 或 $b 大于 100 : 返回 false" fi if [ b -gt 100 ] then echo " $a 小于 5 或 $b 大于 100 : 返回 true" else echo " $a 小于 5 或 $b 大于 100 : 返回 false" fi 逻辑运算符
- && 逻辑与
- || 逻辑或
a=10 b=20 if [[
$a -lt 100 && $b -gt 100 ]] then echo "返回 true" else echo "返回 false" fi if [[ b -gt 100 ]] then echo "返回 true" else echo "返回 false" fi 字符串运算符和文件运算符
它们分别可以检测字符串的相等和各类属性以及文件的属性(读/写/执行/目录)
这里不赘述,需要的时候查找