shell if判断参数
| 参数 | 示例 | 用途 | 
|---|---|---|
| -a | if[ -a /bin ]、if[-a /bin/ls ] | 判断是否为存在的文件或目录,是为True | 
| -b | if[ -b /dev/vda ] | 判断是否为存在的块文件,是为True | 
| -c | if [ -c /dev/zero ] | 判断是否为存在的字符文件,是为True | 
| -d | if[ -d /bin ] | 判断是否为存在的目录,是为True | 
| -e | if[ -e /bin ]、if[-e /bin/ls ] | 同-a | 
| -f | if[ -f /bin/ls ] | 判断文件是否存在,是为True | 
| -g | 判断文件是否存在且设置了SGID,是为True | |
| -h | if[ -h /bin/sh ] | 判断文件是否存在且为符号链接,是为True | 
| -k | 判断文件是否存在且设置了粘滞位,是为True | |
| -n | if[ -n “adad” ] | 判断是否为非空串、是为True | 
| -o | if [ -o optionname ] | 如果shell选项optionname开启则为真 | 
| -p | 判断文件是否存在且为命名管道,是为True | |
| -r | if[ -r /etc/resolv.conf ] | 判断文件是否存在且可读,是为True | 
| -s | if[ -s /dev/zero ] | 判断文件是否存在且大小为0,是为False | 
| -t | 判断文件描述符FD是否已打开且指向至少一个终端,是为True | |
| -u | 判断文件是否存在且设置了SUID,是为True | |
| -v | if[ -v 变量名] | 判断变量是否存在,是为True | 
| -w | if[ -w /etc/resolv.conf ] | 判断文件是否存在且可写,是为True | 
| -x | if[ -x /bin/ls ] | 判断文件是否存在且可执行,是为True | 
| -z | if[ -ge “”] | 判断是否为空串,是为True | 
| -G | 判断文件是否存在且属有效用户组,是为True | |
| -L | if[ -L /bin/sh ] | 同-h | 
| -N | ||
| -O | 判断文件或目录是否存在且被当前进程的有效用户拥有,是为True | |
| -S | 判断文件是否存在且为套接字文件,是为True | |
| -eq | if[ 1 -eq 1 ] | 等号、判断是否相等,是为True | 
| -ne | if[ 2 -ne 1 ] | 不等号,判断是否相等,是为False | 
| -gt | if[ $a -gt $b ] | 大于号、判断
$a 是否大于 $b ,是为True  | 
| -lt | if[ $a -lt $b ] | 小于号、判断
$a 是否小于 $b ,是为True  | 
| -le | if[ $a -le $b ] | 小于等于号、判断
$a 是否小于或等于 $b ,是为True  | 
| -ge | if[ $a -ge $b ] | 大于等于号、判断
$a 是否大于或等于 $b ,是为True  | 
| == | if[ a==a ==a== b ] | 判断两个字符串是否相等,是为True | 
| != | if[ a!=a !=a!= b ] | 判断两个字符串是否不等,是为True | 
| > | if[ ‘aaa’ > ‘bbb’ ] | 判断第一个字符串排序是否在第二个字符串前,是为True | 
| < | if[ ‘aaa’ < ‘bbb’ ] | 判断第一个字符串排序是否在第二个字符串后,是为True | 
爱站程序员基地


