为什么 bash 需要特殊字符来填充整数数学和变量?

为什么 bash 需要特殊字符来填充整数数学和变量?
count=0
while [ "$count" -lt $var1Length  ]
do


count=$((count+1))
done

上面我需要非常奇怪地增加我的计数。我看过其他与此相关的帖子,但都一针见血。这太古怪了,我想我需要真正逐个解释器。这根本说不通。

还,

虽然[“$count”

bash 不能可靠地读取不带引号的 $count 吗?美元后面的期望是什么导致它误读了这个 $count?

答案1

另一种(更简单的)方法是使用巴什主义

count=0
while ((count < var1Length)); do
    ((count++))
done

甚至

count=0
while ((count++ < var1Length)); do
    # ...
done

((...))是一个算术命令,如果表达式非零,则返回退出状态 0,如果表达式为零,则返回 1。如果需要副作用(赋值),也用作“let”的同义词。请参阅http://mywiki.wooledge.org/ArithmeticExpression

相关内容