我正在经历this code。我想知道是什么意思
以下代码段中的-le
。
if [ $stage -le 2 ]; then
在其中一个问题中,它表示-le
代表<=
字符串,但这是在Perl中。这里也一样吗?
此外,我想知道$stage
变量是否会自动更新。它在开始时已初始化为0
,但稍后会如何增加?
答案 0 :(得分:6)
-le
检查左操作数的值是否小于或等于 (<=
)右操作数的值,如果是,则条件变为真。
考虑:
$a=10
$b=20
然后[ $a -le $b ]
为真。
答案 1 :(得分:2)
如上所述in the documentation:
整数比较
(...)
-lt
:小于if [ "$a" -lt "$b" ]
因此,将$a
和$b
(在您的情况下为$stage
和2
)的值解释为整数并执行比较。如果第一个元素小于或等于第二个元素,则测试成功,then
部分将被执行。
正如文档后面所述,人们也可以使用<=
:
<=
:小于或等于(在双括号内)(("$a" <= "$b"))
然后使用双括号(如文档中所述)。
答案 2 :(得分:2)
-le
小于或等于:
if [ $stage -le 2 ];
与:
相同stage <= 2