首页 > 代码库 > 条件判断

条件判断



按照文件类型进行判断:


-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有一个成立,最终的结果就为真
! 判断
逻辑非,使原始的判断式取反






条件判断