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