test 命令
# 检查文件类型以及比较值
# 命令格式
test EXPRESSION
等价形式:[ EXPRESSION ]
# 注意方括号内侧两边均有要一格!以便和匹配方式的[]重合
取非:test ! EXPRESSION [ ! EXPRESSION2 ]
与:test EXPRESSION -a EXPRESSION2
或:test EXPRESSION -o EXPRESSION2
常用表达式
# 字符串比较
-n string 检查字符串长度不为 0(等价 test string)
-z string 检查字符串长度为 0
string1 = string2 字符串比较
string1 != string2
# 数字比较
int1 -eq int2 int1 等于 int2
int1 -ne int2 int1 不等于 int2
int1 -ge int2 int1 大于等于 int2
int1 -gt int2 int1 大于 int2
int1 -le int2 int1 小于等于 int2
int1 -lt int2 int1 小于 int2
# 文件比较
file1 -ef file2 文件的设备和节点号相同
file1 -nt file2 file1 比 file2 的新(修改日期)
file1 -ot file2 file1 比 file2 的旧(修改日期)
# 文件判断
-e file file 是否存在
-b file file 存在并且是块设备文件
-c file file 存在并且是字符设备文件
-d file file 存在并且是目录文件
-f file file 存在并且是个常规文件(普通文件)
-g file file 存在并且设置了SGID(set-group ID)
-u file file 存在并且设置了SUID
-G file file 存在并且拥有者是其有效组ID
-O file file 存在并且拥有者是其有效用户ID
-h|-L file file 存在并且是个符号链接
-k file file 存在并且设置了sticky bit(粘着位?)
-p file file 存在并且是管道文件
-r file file 存在并且具有读权限
-s file file 存在并且 size 大于 0
-S file file 存在并且是个套接字文件
-t FD file 文件描述符在终端中被打开
-w file file 存在并且具有写权限
-x file file 存在并且具有执行权限
网友评论