按照测试对象来划分,条件测试语句可以分为4种:
1.文件测试语句;
[root@XXXXXXXX ~]# [ -d /etc/fstab ]
[root@XXXXXXXX ~]# echo $?
使用文件测试语句来判断/etc/fstab是否为一个目录类型的文件,然后通过Shell解释器的内设 $? 变量显示上一条命令执行后的返回值。如果返回值为0,则目录存在;如果返回值为非零的值,则意味着目录不存在。
2.逻辑测试语句;
[root@XXXXXXXX ~]# [ ! $USER = root ] && echo “user” || echo “root”
root
这段代码的执行顺序是,先判断当前登陆用户的USER变量名称是否等于root,然后用逻辑运算符“非”进行取反操作,效果变成就变成了判断当前登陆的用户是否为非管理员用户了。最后若条件成立则会根据逻辑“与”运算符输出user字样;或条件不满足则会通过逻辑“或”运算符输出root字样,而如果前面的&&不成立才会执行后面的||符号。
3.整数值比较语句;
[root@XXXXXXXX ~]# [ 10 -gt 10 ]
[root@XXXXXXXX ~]# echo $?
1
[root@XXXXXXXX ~]# [ 10 -eq 10 ]
[root@XXXXXXXX ~]# echo $?
0
-eq 是否等于 -ne 是否不等于 -gt是否大于 -lt是否小于 -le是否等于或者小于 -ge是否大于或等于
4.字符串比较语句。
[root@XXXXXXXX ~]# [ -z $String ]
[root@XXXXXXXX ~]# echo $?
0