我跑的时候
if [[ 10 < 2 ]];
then echo "yes";
else echo "no";
fi
Run Code Online (Sandbox Code Playgroud)
在shell中,它返回yes
.为什么?应该是no
吗?而当我跑
if [[ 20 < 2 ]];
then echo "yes";
else echo "no";
fi
Run Code Online (Sandbox Code Playgroud)
它返回no
.
Den*_*ich 10
因为您根据词典顺序而不是数字来比较字符串
你可以使用[[ 10 -lt 2 ]]
和[[ 20 -lt 2 ]]
.-lt
代表小于(<
).对于Greater than(>
),-gt
可以使用表示法.
在bash中,可以使用双括号来执行数字比较:
if ((10 < 2)); then echo "yes"; else echo "no"; fi
Run Code Online (Sandbox Code Playgroud)
以上例子将回应 no
归档时间: |
|
查看次数: |
1297 次 |
最近记录: |