某需求是否满足,是需要测试机制来实现的
测试表达式是需要测试命令配合来完成的
测试表达式 :
1、test 表达式 expression 表达式
2、[表达式 expression 表达式]
3、[[表达式 expression 表达式]].
注:中括号中两侧必须有空格存在,否则语法错误
测试类型
1、数字测试
-gt:是否大于
-ge:是否大于等于
-eq:是否等于
-ne:是否不等于
-le:是否小于等于
-lt:是否小于
2、字符串测试
==:是否等于
>:是否大于
<:是否小于
!=:是否不等于
=~:左侧的字符串是否能被右侧的模式匹配到。一般用于[[]]中
-z "string":测试字符串是否为空
-n:"string":测试字符串是否不为空
注:字符串比较时,字符串必须用引号引用起来。
3、文件测试
存在性测试:-a:逻辑与
-e:存在性测试
存在性及类型测试
-b:是否存在且为设备
-c:是否存在且为字符设备
-d:是否存在且为目录文件
-f:是否存在且为普通文件
-h:是否存在且为链接文件
-p:是否为存在且为管道文件
-S:是否存在且为套接字文件
特殊权限测试
-g:是否存在且拥有Sgid权限
-u:是否存在且为Suid权限
大小测试
-s:是否为空目录