shell☞if判定

阅读量: zyh 2016-10-02 22:11:44
Categories: > Tags:
[ -e FILE ] 如果 FILE 存在则为真。

[ -d DIR ]  如果 FILE 存在且是一个目录则为真。
[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。
[ -c FILE ] 如果 FILE 存在且是一个字符特殊文件则为真。
[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。
[ -L FILE ] 如果 FILE 存在且是一个符号连接则为真。
[ -p FILE ] 如果 FILE 存在且是一个命名管道(F如果O)则为真。
[ -S FILE ] 如果 FILE 存在且是一个套接字则为真。
[ -t FD ]   如果文件描述符 FD 打开且指向一个终端则为真。

[ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真。
[ -k FILE ] 如果 FILE 存在且已经设置了粘制位则为真。

[ -r FILE ] 如果 FILE 存在且是可读的则为真。
[ -w FILE ] 如果 FILE 存在且是可写的则为真。
[ -x FILE ] 如果 FILE 存在且是可执行的则为真。

[ -s FILE ] 如果 FILE 存在且大小不为0则为真。
[ -u FILE ] 如果 FILE 存在且设置了 SUID (set user ID)则为真。
[ -O FILE ] 如果 FILE 存在且属有效用户ID则为真。
[ -G FILE ] 如果 FILE 存在且属有效用户组则为真。

[ -N FILE ] 如果 FILE 存在,且距离上次访问后有修改则为真。
[ FILE1 -nt FILE2 ] 如果 FILE1 比 FILE2 要新, 或者 FILE1 存在且 FILE2 不存在则为真。
[ FILE1 -ot FILE2 ] 如果 FILE1 比 FILE2 要老, 或者 FILE1 不存在且 FILE2 存在则为真。
[ FILE1 -ef FILE2 ] 如果 FILE1 和 FILE2 指向相同的设备和节点号则为真。