test测试参数及意义

内容纲要
文件类型判断意义
-e该文件名是否存在(常用)
-f该文件名是否存在且为file(常用)
-d该文件名是否存在且为directory(常用)
-b该文件名是否存在且为一个block device
-c该文件名是否存在且为一个character device
-S该文件名是否存在且为一个socket
-p该文件名是否存在且为一个FIFO(pipe)
-L该文件名是否存在且为一个链接
文件权限检测意义
-r检测该文件名是否存在且具有可读的权限
-w检测该文件名是否存在且具有可写的权限
-x检测该文件名是否存在且具有可执行的权限
-u检测该文件名是否存在且具有SUID的属性
-g检测该文件名是否存在且具有SGID的属性
-k检测该文件名是否存在且具有Sticky bit的属性
-s检测该文件名是否存在且为非空文件
两文件间比较意义
-nt(newer than)判断file1是否比file2新
-ot(older than)判断file1是否比file2旧
-ef判断file1与file2是否为同一文件,可用在判断hard link的判定上
两整数间判定意义
-eq(equal)两数值相等
-ne(not equal)两数值不等
-gt(great than)n1大于n2
-lt(less than)n1小于n2
-gen1大于等于n2
-len1小于等于n2
判断字符串数据意义
test -z string判定字符串是否为0?若string为空字符串,则为true
test -n string判定字符串是否非为0?若string为空字符串,则为false
test str1 == str2判定str1是否等于str2,若相等,则返回true
test str1 != str2判定str1是否不等于str2,若相等,则返回false
多重条件判定意义
-a(and)两条件同时成立。例如test -r file -a -x file,则file同时具有r与x权限时,才返回true
-o(or)两条件任何一个成立。例如test -r file -o -x file,则file具有r或x权限时,可返回true
!反相状态,如test ! -x file,当file不具有x时,返回true

留下评论

您的电子邮箱地址不会被公开。