测试语句
对变量的大小,字符串,文件属性等内容内容进行判断
test命令可以用于字符串,数字,文件状态等内容的测试
文件状态测试
文件状态测试指的是对文件的权限,有无,属性,类型等内容进行判断
与其他语言不同的是。test命令的测试结果,返回0时表示测试成功
返回1 时表示测试失败
-d 测试文件是否是目录文件
-s 测试文件是否非空
-f 测试文件是否是正规文件
-w 测试文件是否可写
-L 测试文件是否是符号连接
-u 测试文件是否有suid位设置
-x 测试文件是否可执行
-r 测试文件是否可读
test -d /windows 测试文件/window是否是一个目录
输出结果 $?用于保存上一个命令的结果
echo $?
输出的结果1 表明/window不是一个目录
数字测试
数字测试指的是比较两个数值的大小或相等关系
1.test命令 test firstnumber 数值比较 secondnumber
2.用中括号代替test命令。需要注意的是 [ 后面一定要有一个空格
[ firstnumber 数值比较 secondnumber ]
-eq 两个数是否相等
-ne 两个数是否不相等
-le 第一个数是否小于或等于第二个数
-ge 第一个数是否大于或等于第二个数
-gt 第一个数是否大于第二个数
-lt 第一个数是否小于第二个数
如:
test 3 -lt 5 echo $? 0
[ 3 -lt 5 ]
字符串测试
字符串测试指的是比较两个字符串是否相等,或者判断一个字符串
是否为空。判断常用来测试用户输入是否符合程序的要求
字符串测试有下面4种常用的方法
test 字符串 比较符 字符串
test 字符串1 比较符 字符串2
[ 字符串 比较符 字符串 ]
[ 字符串1 比较符 字符串2 ]
字符串比较有如下所示的4种
=测试两个字符串是否相等
!=测试两个字符串是否不相等
-z:测试字符串是空字符串
-n:测试字符串是非空字符串
逻辑测试
逻辑测试指的是将多个条件进行逻辑运算
-a 逻辑与
-o 逻辑或
!: 逻辑否
[ -w a.txt -a -r b.txt ]