shell脚本中if判断条件小结(-e -f -eq等)
字符串判断 | 含义 |
---|---|
-n str1 | 当串的长度大于0时为真(串非空) |
-z str1 | 当串的长度为0时为真(空串) |
数字的判断 | |
int1 -eq int2 | 两数相等为真 |
int1 -ne int2 | 两数不等为真 |
int1 -gt int2 | int1大于int2为真 |
int1 -ge int2 | int1大于等于int2为真 |
int1 -lt int2 | int1小于int2为真 |
int1 -le int2 | int1小于等于int2为真 |
文件的判断 | |
-r file | 用户可读为真(助记:read) |
-w file | 用户可写为真(助记:write) |
-x file | 用户可执行为真 |
-f file | 文件为普通文件为真 |
-c file | 文件为字符特殊文件为真 |
-b file | 文件为块特殊文件为真 |
-d file | 文件为目录为真 |
-s file | 文件大小非0时为真 |
-t file | 当文件描述符(默认为1)指定的设备为终端时为真 |
-a FILE | 如果 FILE 存在则为真。 |
-p FILE | 如果 FILE 存在且是一个名字管道(F如果O)则为真 |
-L FILE | 如果 FILE 存在且是一个符号连接则为真 |
-S FILE | 如果 FILE 存在且是一个套接字则为真 |
复杂逻辑判断 | |
-a | 与 |
-o | 或 |
! | 非 |