【发布时间】:2023-03-31 09:29:02
【问题描述】:
我正在学习 bash,但发现了一些我(还)无法解释的奇怪现象。在学校,我了解到 if 语句将 0 评估为真,将 1 评估为假,因此它可以与来自其他命令的状态代码一起使用。现在是我的问题:为什么会这样:
echo $((5>2)) #prints 1
echo $((5<2)) #prints 0
if ((5>2)) ; then echo "yes" ; else echo "no" ; fi #prints yes
if ((5<2)) ; then echo "yes" ; else echo "no" ; fi #prints no
这似乎不合逻辑。 bash 怎么知道我使用的是算术表达式而不是其他命令?
【问题讨论】:
标签: bash