为了判断某条件是否满足,需要测试机制来满足条件
测试表达式的写法:
test 表达式
【 表达式 】
【【 表达式 】】
注意,使用【】表达式前后要有空格
bash的测试类型:
数值测试
字符串测试
文件测试
数值测试:
-gt 是否大于
-ge 是否大于等于
-lt 是否小于
-le 是否小于等于
-ne 是否不等于
-eq 是否等于
字符串测试:
== 是否等于
> 是否大于
< 是否小于
=~ 左侧字符串是否能被右侧的模式匹配
!= 是否不等于
-z “string” 测试字符串是否为空,空者为真
-n “string” 测试字符串是否为不空,不空为真
文件测试:
-e FILE 文件是否存在,存在为真,不存在为假
-f FILE 文件是否存在,且为普通文件
-d FILE 文件是否存在,且为目录文件
-g FILE 是否存在,且拥有SGID权限
-u FILE 是否存在,且拥有SUID权限
-k FILE 是否存在,且拥有Sticky权限
-r FILE 是否存在,且拥有读权限
-w FILE 是否存在,且拥有写权限
-x FILE 是否存在,且拥有执行权限
-s FILE 是否存在,且非空
-O FILE 当前文件是否为文件属主
-G FILE 当前文件是否为文件属组
组合条件测试: