x=23;
y=223;
if [[ $x < $y ]]
then
echo "TRUE"
else
echo "FALSE"
fi
所以这总是打印FALSE,即使23显然小于223。我是bash的新手,所以我可能会遗漏一些明显的东西。我尝试用它们的实际值代替$ x和$ y,这意味着工作正常。请发送帮助
答案 0 :(得分:2)
<
执行字符串的词典排序。要获得数字排序,请使用-lt
。
x=23;
y=223;
if [[ $x -lt $y ]]
then
echo "TRUE"
else
echo "FALSE"
fi
或者您可以使用算术表达式而不是条件表达式:
if (( $x < $y ))