在使用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 在中括号中用是非常正确的,无论是一个中括号还是两个中括号;

如果非要用大于号(>)小于号(<),那就必须用小括号括起来使用。