0%

条件表达式

条件表达式

[ ] [[ ]] test三个内置命令

表达式 说明
-a file 文件存在,返回真
-b file 文件存在,并且是二进制文件,返回真
-c file 文件存在,并且是字符设备文件,返回真
-d file 目录,返回真
-e file 不管什么文件,只要存在,返回真
-f file 普通文件,返回真
-g file 设置了SGID位,返回真
-h file 软连接,返回真
-k file 设置粘滞位,返回真
-p file 管道文件,返回真
-r file 可读文件,返回真
-s file 大小比0大的文件,返回真
-t fd 文件句柄,返回真
-u file 设置SUID位,返回真
-w file 文件可写,返回真
-x file 文件可执行,返回真
-O file 文件所有者是有效用户,返回真
-G file 文件所属组是有效组,返回真
-L file 链接文件,返回真
-S file socket文件,返回真
-N file 最后一次读取后又修改了,返回真
file1 -nt file2 file1比file2的修改时间新,返回真
file1 -ot file2 file1比file2的修改时间旧,返回真
file1 -ef file2 file1和file2指向同一个设备或者inode,返回真
-o optname 检查某个shell选项是否开启。参见set -o
-z string 字符串长度不为0,返回真
string1 == string2 两个字符相同,返回真
string1 = string2 两个字符相同,返回真(必须是test POSIX模式)(不推荐这么写)
string1 != string2 两字符不相等,返回真
string1 < string2 按照排序算法,string1在string2前面,返回真
string1 > string2 按照排序算法,string1在string2后面,返回真
num1 -eq num2 两数相等,返回真
num1 -ne num2 两数不相等,返回真
num1 -gt num2 num1大于num2,返回真
num1 -lt num2 num1小于num2,返回真
num1 -ge num2 num1大于等于num2,返回真
num1 -le num2 num1小于等于num2,返回真