到目前为止if语句测试都是跟命令的退出状态码无关的条件。
但是test命令提供了在if-then语句中测试不同条件的路径,如果test命令中列出的条件成立,test命令就会退出并
返回退出状态码0,这样if-then语句就与其他编程语句中的if-then语句类似的方式工作量了,如果条件不成立,test
命令就会退出并返回退出状态码1,if-then语句就会失效。
当然shell提供了和test相同用法的[ ]
test命令可以判断三类条件:
数值比较、字符串比较和文件比较
1、数值比较
n1 -eq n2 检查n1是否和n2相等
n1 -ge n2 检查n1是否大于或等于n2
n1 -get n2 检查n1是否大于n2
n1 -le n2 检查n1是否小于或等于n2
n1 -lt n2 检查n1是否小于n2
n1 -ne n2 检查n1不等于n2
下面是例子
#!/bin/bash
var1=10
var2=11
if [ $var1 -gt 5 ]
then
echo "The test value $var1 greater than 5"
fi
if [ $var1 -eq $var2 ]
then
echo "The values are equal"
else
echo "The values are different"
fi
明天再写其他两个吧