
在命令行下测试条件语句:
返回的是 0 表示成功,其它表示不成功。上图说明文件没有执行的权限。
test 语法
判断表达式
if test 表达式为真
if test ! 表达式为假
test 表达式 1 –a 表达式 2;两个表达式都为真
test 表达式 1 –o 表达式 2;两个表达式有一个为真
判断字符串
test –n 字符串;字符串的长度非零
test –z 字符串;字符串的长度为零
test 字符串 1=字符串 2;字符串相等
test 字符串 1!=字符串 2;字符串不等
判断整数
test 整数 1 –eq 整数 2;整数相等
test 整数 1 –ge 整数 2;整数 1 大于等于整数 2
test 整数 1 –gt 整数 2;整数 1 大于整数 2
test 整数 1 –le 整数 2;整数 1 小于等于整数 2
test 整数 1 –lt 整数 2;整数 1 小于整数 2
test 整数 1 –ne 整数 2;整数 1 不等于整数 2
判断文件
test File1 –ef File2;两个文件具有同样的设备号和 i 结点号
test File1 –nt File2;文件 1 比文件 2 新
test File1 –ot File2;文件 1 比文件 2 旧
test –b File;文件存在并且是块设备文件
test –c File;文件存在并且是字符设备文件
test –d File;文件存在并且是目录
test –e File;文件存在
test –f File;文件存在并且是正规文件
test –g File;文件存在并且是设置了组 ID
test –G File;文件存在并且属于有效组 ID
test –h File;文件存在并且是一个符号链接(同 -L)
test –k File;文件存在并且设置了 sticky 位
test –b File;文件存在并且是块设备文件
test –L File;文件存在并且是一个符号链接(同 -h)
test –o File;文件存在并且属于有效用户 ID
test –p File;文件存在并且是一个命名管道
test –r File;文件存在并且可读
test –s File;文件存在并且是一个套接字
test –t FD;文件描述符是在一个终端打开的
test –u File;文件存在并且设置了它的 set-user-id 位
test –w File;文件存在并且可写
test –x File;文件存在并且可执行