Bash中的简单int条件没有意义

时间:2015-09-28 23:52:15

标签: linux bash

x=23;
y=223;
if [[ $x < $y ]]
then
    echo "TRUE"
else
    echo "FALSE"
fi

所以这总是打印FALSE,即使23显然小于223。我是bash的新手,所以我可能会遗漏一些明显的东西。我尝试用它们的实际值代替$ x和$ y,这意味着工作正常。请发送帮助

1 个答案:

答案 0 :(得分:2)

<执行字符串的词典排序。要获得数字排序,请使用-lt

x=23;
y=223;
if [[ $x -lt $y ]]
then
    echo "TRUE"
else
    echo "FALSE"
fi

或者您可以使用算术表达式而不是条件表达式:

if (( $x < $y ))