天天看点

条件判断

按照文件类型进行判断:

-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,如需转载请自行联系原作者