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 | 两状况任何一个成立。 |
| ! | 反相状态 |