使用test命令的测试功能

测试标志

含义

 

1.某个文件名的“类型”检测(存在与否),如test –e filename

 

-e

该“文件名”是否存在(常用)

-f

该“文件名”是否为文件(file)(常用)

-d

该“文件名”是否为目录(directory(常用)

-b

该“文件名”是否为一块设备

-c

该“文件名”是否是否为一个字符设备

-S

该“文件名”是否为一个套接字文件

-p

该“文件名”是否为一个FIFO(管道)文件。pipe

-L

该“文件名”是否为一个连接文件

 

2.文件的权限检测,如:test –r filename

 

-r

检测文件名是否具有“可读”属性

-w

检测文件名是否具有“可写”属性

-x

检测文件名是否具有“可执行”属性

-u

检测文件名是否具有“SUID”属性

-g

检测文件名是否具有“SUID”属性

-k

检测文件名是否具有“Sticky bit”属性

-s

检测文件名是否具有”非空白文件”

 

3.比较两个文件,如:test n1 –eq n2

 

-nt

(newer than)判断file1是否比file2

-ot

(older than)判断file1是否比file2

-ef

判断file2file1是否为同一个文件,可用于判断硬连接,主要判断两个文件是否均指向同一个inode

 

4.两个整数之间的判断,例如:test –nl –eq n2

 

-eq

两数值相等(equal)

-ne

两数不相等(not equal)

-gt

n1 大于 n2(greater than)

-lt

n1 小于 n2(less than)

-ge

n1 大于等于 n2(greater than or equal)

-le

n1 小于等于 n2(less than or equal)

5.判断字符串的数据:

 

test –z string

判断字符串是否为0,string为空字符串,则为true

test –n string

判断字符串是否非为0,若string为空字符串,则为false

test str1 = str2

判断str1是否等于str2,若相等,则回传true

test str1 != str2

判断str1是否等于str2,若相等,则回传false

 

6. 多重条件判断,例如:test –r filename –a –x filename

 

-a

(and)两个条件同时成立,例如test –r file –a –x file.file同时具有rx权限时,才回传true

-o

(or)两个条件任何一个成立,例如test –r file –o –x file,file具有rx权限时,就可回传true

!

条件求反,如test ! –x file, file不具有x时,回传true

 

此条目发表在 LAMP 分类目录,贴了 , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>