按照文件类型进行判断:
-b 文件
判断该文件是否存在,并且是否为块设备(是块设备文件为真)
-c 文件
判断该文件是否存在,并且是否为字符设备文件
-d 文件
判断该文件是否存在,并且是否为目录文件
-e 文件
判断该文件是否存在
-f 文件
判断该文件是否存在,并且是否为普通文件
-L 文件
判断该文件是否存在,并且是否为符号链接文件
-p 文件
判断该文件是否存在,并且是否为管道文件
-s 文件
判断该文件是否存在,并且是否为非空
-S 文件
判断该文件是否存在,并且是否为套接字文件
按照文件权限进行判断:
-r 文件
判断该文件是否存在,并且该文件是否具有读权限;
-w 文件
判断该文件是否存在,并且该文件是否具有写权限;
-x 文件
判断该文件是否存在,并且该文件是否具有执行权限;
-u 文件
判断该文件是否存在,并且该文件是否具有suid权限;
-g 文件
判断该文件是否存在,并且该文件是否具有sgid权限;
-k 文件
判断该文件是否存在,并且该文件是否具有sbit权限;
两个文件之间进行比较:
文件1 -nt 文件2
判断文件1的修改时间是否比文件2的新;
文件1 -ot 文件2
判断文件1的修改时间是否比文伯2的旧;
文件1 -ef 文件2
判断文件1和文件2的inode号是否一致,可以理解为两个文件是否为同一文件。这个判断用于判断硬链接是很好的方法。
两个整数之间进行比较:
整数1 -eq 整数2
判断整数1是否和整数2相等;
整数1 -ne 整数2
判断整数1是否和整数2不相等;
整数1 -gt 整数2
判断整数1是否大于整数2;
整数1 -lt 整数2
判断整数1是否小于整数2;
整数1 -ge 整数2
判断整数1是否大于等于整数2;
整数1 -le 整数2
判断整数1是否小于等于整数2;
字符串的判断:
-z 字符串
判断字符串是否为空,为空返回真;
-n 字符串
判断字符串是否为非空;
字符串1 == 字符串2
判断字符串1和字符串2是否相等;
字符串1 != 字符串2
判断字符串1和字符串2是否不相等;
多重条件判断:
判断1 -a 判断2
逻辑与,判断1和判断2都成立,最终的结果才为真
判断1 -o 判断2
逻辑或,判断1和判断2有一个成立,最终的结果就为真
! 判断
逻辑非,使原始的判断式取反
本文转自limingyu0312 51CTO博客,原文链接:http://blog.51cto.com/limingyu/1907871,如需转载请自行联系原作者