1.9 KiB
1.9 KiB
简介
检测某个条件是否成立,检测对象可以是数值、字符或文件。
语法
test EXPRESSION # 返回EXPRESSION的值,这个值只有两个结果:true或false。
逻辑运算
! EXPRESSION
非运算EXPRESSION -a EXPRESSION
且运算EXPRESSION -o EXPRESSION
或运算
字符串运算
-n STRING
字符串STRING长度非零则为真STRING
等价于-n STRING
-z STRING
字符串STRING长度为零则为真STRING1 = STRING2
两个字符串相等则为真STRING1 != STRING2
两个字符串不相等则为真
数值运算
INTEGER1 -eq INTEGER2
两个数值相等则为真INTEGER1 -ne INTEGER2
两个数值不等则为真INTEGER1 -ge INTEGER2
大于等于则为真INTEGER1 -gt INTEGER2
大于则为真INTEGER1 -le INTEGER2
小于等于则为真INTEGER1 -lt INTEGER2
小于则为真
文件运算
FILE1 -ef FILE2
文件FILE1和FILE2有相同的设备和inode号FILE1 -nt FILE2
文件FILE1比文件FILE2修改时间要新FILE1 -ot FILE2
文件FILE1比文件FILE2修改时间要老-b FILE
文件存在且为块设备-c FILE
文件存在且为字符设备-d FILE
文件存在且是一个目录-e FILE
文件存在-f FILE
文件存在且是普通文件-g FILE
文件存在且设置了set-group-ID位-G FILE
文件存在且属于有效的组-h FILE
等价于-L FILE
-k FILE
文件存在且设置了sticky位-L FILE
文件存在且是符号链接,等价于-h FILE
-O FILE
文件存在且其所有者为有效用户-p FILE
文件存在且是有名管道-r FILE
文件存在且可读-s FILE
文件存在且其大小大于0-S FILE
文件存在且是套接字-t FD
文件描述符FD已经在terminal里打开-u FILE
文件存在且set-user-ID位已设置-w FILE
文件存在且可写则为真-x FILE
文件存在且可执行则为真