文章目录
壁立千仞 无欲则刚
5、条件判断
1)基本语法
(1)test condition
(2)[ condition ](注意 condition 前后要有空格)
注意:条件非空即为 true,[ atguigu ]返回 true,[ ] 返回 false。
2)常用判断条件
(1)两个整数之间比较
-eq 等于(equal) -ne 不等于(not equal)
-lt 小于(less than) -le 小于等于(less equal)
-gt 大于(greater than) -ge 大于等于(greater equal)
-a 与 (and) -o 或 (or)
注:如果是字符串之间的比较 ,用等号“=”判断相等;用“!=”判断不等。
(2)按照文件权限进行判断
-r 有读的权限(read)
-w 有写的权限(write)
-x 有执行的权限(execute)
(3)按照文件类型进行判断
-e 文件存在(existence)
-f 文件存在并且是一个常规的文件(file)
-d 文件存在并且是一个目录(directory)
3)案例实操
(1)23 是否大于等于 22
[root@centos7-101 scripts]# [ 23 -ge 22 ]
[root@centos7-101 scripts]# echo $?
0
(2)name.sh 是否具有写权限
[root@centos7-101 scripts]# [ -w name.sh ]
[root@centos7-101 scripts]# echo $?
0
(3)a.txt 目录中的文件是否存在
[root@centos7-101 scripts]# [ -e a.txt ]
[root@centos7-101 scripts]# echo $?
1
(4)多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一条命令执行失败后,才执行下一条命令)
[root@centos7-101 scripts]# [ root ] && echo OK || echo notOk
OK
[root@centos7-101 scripts]# [ ] && echo OK || echo notOk
notOk