接下来我们看一下条件测试中的数值比较,其实条件测试又包含了多种,比如数值比较、字符串比较、文件比较。这节先介绍一下数值比较。我们先来回顾一下,在我们的if-then或if-then-else中用的一个语法。
if-then
if condition
then
commands
fi
我们知道在if后面可以跟command或condition,condition的情况在前面没有讲,我们在前面演示if-then或if-then-else的时候都是使用的command。现在我们来看一下if后面跟condition的情况。condition有些类似于高级编程语言中使用的一样,比如说满足if a>b为真的情况,它会去执行then里面的指令。如果a>b不成立,返回是false的情形的话,它就不执行对应then里面的commands。这节我们就会给大家讲如何在condition中对数值进行比较。
接下来给大家演示一下如何进行数值比较。
vim condition_number.sh
#!/bin/bash
#
if [ $1 -eq $2 ];then
echo "$1 = $2"
elif [ $1 -gt $2 ];then
echo "$1 > $2"
elif [ $1 -ge $2 ];then
echo "$1 >= $2"
elif [ $1 -lt $2 ];then
echo "$1 < $2"
elif [ $1 -le $2 ];then
echo "$1 <= $2"
elif [ $1 -ne $2 ];then
echo "$1 != $2"
else
echo “unknown relation”
fi
然后我们来验证一下
sh condition_number.sh 1 2
这小节就给大家讲了条件测试中的数值比较。如果各位有补充请留言,我验证之后完善文章。谢谢!