在使用shell脚本时, 对if的条件判断老是无法准确的用大于号和小于号 >, <
下边的例子比较清晰的展示出什么时候用-lt -gt,什么时候用< >
a=7771
b=14000
if [[ ${a} -lt 14000 ]]; then
echo "小于号成功1"
#statements
else
echo "小于号失败1"
fi
输出结果小于号成功1
if [[ "$a" -lt "$b" ]]; then
echo "小于号成功2"
#statements
else
echo "小于号失败2"
fi
输出结果小于号成功2
if (( "${a}" < "${b}" )) ; then
echo "小于号成功3"
#statements
else
echo "小于号失败3"
fi
输出结果小于号成功3
if (( ${a} < ${b} )) ; then
echo "小于号成功4"
#statements
else
echo "小于号失败4"
fi
输出结果小于号成功4
if [[ 7771 -lt 14000 ]]; then
echo "小于号成功5"
#statements
else
echo "小于号失败5"
fi
输出结果小于号成功5
if [[ 7771 < 14000 ]]; then
echo "小于号成功6"
#statements
else
echo "小于号失败6"
fi
输出结果小于号失败6
if [[ ${a} < ${b} ]]; then
echo "小于号成功7"
#statements
else
echo "小于号失败7"
fi
输出结果小于号失败7
总结用法:-lt -gt 在中括号中用是非常正确的,无论是一个中括号还是两个中括号;
如果非要用大于号(>)小于号(<),那就必须用小括号括起来使用。