1.文件测试
文件测试指的是根据特定的路径,判断对应的文件是目录还是文件,或者是否可读、可写、可执行等。
-d:测试是否为目录(Directory)或目录是否存在
-e:测试目录或文件是否存在(Exist)
-f:测试是否为文件(File)过文件是否存在
-r:测试当前用户是否有权限读取(Read)
-w:测试当前用户是否有权限写入(Write)
-x:测试当前用户是否有权限执行(eXcute)
执行测试条件之后通过预定义变量$?可以测试命令的返回状态,从而判断是否存存在。
[root@localhost ~]# [ -d /mnt ]
[root@localhost ~]# echo $? //查看前命令返回值
0 //0表示成立非0表示不成立
结合&&和echo命令会更直观的查看结果
[root@localhost ~]# [ -d /mnt ] && echo "ok"
ok //输出ok表示目录已存在
在表达式的后面执行 双&
如果前面的表达式成立则输出YES否则什么都不输出。
2.整数值比较
数值的比较指的是根据给定的两个整数判断第一个数值与第二个数值的关系如是否大于小于第二个数。
数值的比较,常用如下
-eq:等于(Equal)
-ne:不等于(Not Equal)
-gt:大于(Greater Than)
-lt:小于(Lesser Than)
-le:小于或等于(Lesser or Equal)
-ge:大于或等于(Greater or Equal)
格式是 [ 数值1 操作符 数值2 ]
列式:
[root@localhost ~]# uname=$(who | wc -l) //查看当前已登录用户
[root@localhost ~]# [ $uname -lt 5 ] && echo "xiao yu" //小于5输出xiao yu
xiao yu
3.字符串比较
字符串比较通常用来检查用户输入、系统环