对于测试的对象不同,条件测试分为这么三种,文件测试、字串测试、数值测试。

1.文件测试

文件测试根据文件的属性(是否目录,正规文本,符号链接),文件的权限(是否可读,可写,可执行,有suid位),文件的size( 是否为空) 来测试,大致分为这么三类.

参数          解释
-d       是否目录
-f               是否正规文本
-L               是否符号链接

-r    是否可读            
-w              是否可写
-x               是否可执行
-u               是否有suid 位

-s               是否为空

2.字串测试

字串测试用来做两个字串做对比( 等或者不等), 以及检查某一个字串是否为空

=             字串相等
!=           字串不相等
-z           字串为空
-n          字串不为空

开始感觉似乎上面每组命令有两条命令有点多余, 相等判断为否了就是不等啊,但是因为条件测试不仅仅只是单一的判断字串,可能有其他多个条件组合起来判断,而条件判断又没有 “否” 的命令,因此想着这每组两条一点也不多余。

3.数值测试

数值测试用来比较两个数值的大小。 记住几个字符的含义应该能好理解一些:e/eq (equal 等于), t (than 比较 ), g ( great 大于), l ( less 小于),n ( not )

-eq                   等于
-ne                  不等于
-gt                   大于
-ge                  大于等于
-lt                    小于
-le                   小于等于