3.运算符&条件判断
运算符
语法
- “$((运算表达式))” 或 “$[运算表达式]”
- expr +(加) , -(减) , \*(乘), /(除), %(余)
Demo
#1+1,注意运算符两侧空格
expr 1 + 1
#(1+1)*2 方式一
expr `expr 1 + 1` \* 2
#(1+1)*2 方式二
result=$[(1+1)*2]
echo $result
#(1+1)*2 方式三
result=$(((1+1)*2))
echo $result
条件判断
语法
[ condition ](注意condition前后要有空格)
注意:
条件非空即为true,[ abc ]返回true,[] 返回false。
true = 0 、false =1
常用判断
两个整数之间比较
- = 字符串比较
- -lt 小于(less than)
- -le 小于等于(less equal)
- -eq 等于(equal)
- -gt 大于(greater than)
- -ge 大于等于(greater equal)
- -ne 不等于(Not equal)
按照文件权限进行判断
- -r 有读的权限(read)
- -w 有写的权限(write)
- -x 有执行的权限(execute)
按照文件类型进行判断
- -f 文件存在并且是一个常规的文件(file)
- -e 文件存在(existence)
- -d 文件存在并是一个目录(directory)
Demo
#执行下面,判断字符串是否相等
[ 'a' = 'a1' ]
#查看
echo $?
#结果
1 #执行失败,两者不等
#****************************************
#执行下面,判断文件是否存在
[ -e test.sh ]
#****************************************
#多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一条命令执行失败后,才执行下一条命令)
[ condition ] && echo OK || echo notok
[ condition ] && [ ] || echo notok