bash中的“ if”块返回错误值

问题描述 投票:0回答:1

有人可以解释bash的“ if”块的以下行为吗?

我使用以下简单代码检查first_value是否小于second_value] >>

first_value=67
second_value=2

if [[  "${first_value}" < "${second_value}" ]];
then 
    echo "Yes"
else 
    echo "No"
fi

问题是

如果second_value

是1,2,3,4,5,6,10,11,...该块将返回“ No”

但是如果second_value

为7,8,9,该块将返回“是”(必须为“否”)

解决方法是使用“ -lt

”而不是“ <”,但是我想了解“ if”块的这种行为。

bash版本是“ GNU bash,版本4.2.46(2)-发行版(x86_64-redhat-linux-gnu)”]

操作系统为“ CentOS Linux版本7.5.1804(核心)”

有人可以解释bash的“ if”块的以下行为吗?我使用以下简单代码检查if _ [[“ ...

bash if-statement syntax
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.