1 test 工具
为了更方便的对输入的shell命令进行测试,我们今天引入test测试工具,来对条件进行判断测试。
接下来我们通过下面的例子来学习使用test工具:
test –e /opt/script 检查/opt/script目录或文件是否存在
检查文件是否存在的参数设置:
选项 | 作用 |
-e | 文件是否存在(常用) |
-f | 文件是否存在且为普通文件(常用) |
-d | 文件是否存在且为目录(常用) |
选项 | 作用 |
-r | 检查文件读取权限 |
-w | 检查文件写入权限 |
-x | 检查文件执行权限 |
-s | 检查文件是否存在且为非空白文件 |
两文件之间的比较:
选项 | 作用 |
-nt | 判断file1是否比file2新 |
-ot | 判断file1是否比file2旧 |
-ef | 判断file1与file2是否为同一文件,可用在硬链接(某个实体文件别名)的判定上,主要意义在于判定两个文件是否均指向同一个索引节点 |
两个数值之间的比较:
选项 | 作用 |
-eq | 两数值相等 |
-ne | 两数值不等 |
-gt | n1大于n2 |
-lt | n1小于n2 |
-ge | n1大于或等于n2 |
-le | n1小于或等于n2 |
判定字符串数据:
选项 | 作用 |
test -z string | 判定字符串是否为0,若string为空字符串,则回传true |
test -n string | 判定字符串是否非0,若string为空字符串,则回传false(-n可以省略) |
test str1=str2 | 判定str1是否等于str2,若相等,则回传true |
test str1 !=str2 | 判定str1是否不等于str2,若相等,则回传false |
多重条件判定:
选项 | 作用 |
-a | 两状况同时成立。 |
-o | 两状况任何一个成立。 |
! | 反相状态 |