Appearance
五、条件判断
1、基本语法
test condition
condition 注意 condition 前后要有空格
注意:条件非空即为 true,[ xx ]返回 true
2、常用判断条件
1、两个整数之间比较
- -eq 等于(equal)
- -ne 不等于(not equal)
- -lt 小于(less than)
- -le 小于等于(less equal)
- -gt 大于(greater than)
- -ge 大于等于(greater equal)
注:如果是字符串之间的比较 ,用等号“=”判断相等;用“!=”判断不等。
2、按照文件权限进行判断
- -r 有读的权限(read)
- -w 有写的权限(write)
- -x 有执行的权限(execute)
3、按照文件类型进行判断
- -e 文件存在(existence)
- -f 文件存在并且是一个常规的文件(file)
- -d 文件存在并且是一个目录(directory)
3、案例实操
1、23 是否大于等于 22
sh
[root@k8s-node shells]$ [ 23 -ge 22 ]
[root@k8s-node shells]$ echo $?
0
2、helloworld.sh 是否具有写权限
sh
[root@k8s-node shells]$ [ -w helloworld.sh ]
[root@k8s-node shells]$ echo $?
0
3、/home/xx/cls.txt 目录中的文件是否存在
sh
[root@k8s-node shells]$ [ -e /home/test/cls.txt ]
[root@k8s-node shells]$ echo $?
1
(4)多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一 条命令执行失败后,才执行下一条命令)
sh
[root@k8s-node ~]$ [ test ] && echo OK || echo notOK
OK
[root@k8s-node shells]$ [ ] && echo OK || echo notOK
notOK