我正在使用BASH,现在有一个傻瓜问题需要解决。我正在开发一个项目,需要使用一些非常基本的算术表达式,但我意识到我的问题很多,因为我的变量没有更新。所以我组合了一个基本算法,在while循环中通过将一个变量按另一个变量进行增量操作,直到达到某个数字为止。
counter=1
counter2=0
while [[ counter2 < 10 ]]; do
counter2=$(($counter2+$counter))
echo $counter
echo $counter2
done
我运行了这个脚本,但是没有任何反应。为了好玩,我将
<
改成了 >
,结果发生了无限循环,不断输出以下内容:1
0
1
0
永远永远,直到我停止它。所以很明显变量没有改变。为什么?我感觉自己像个白痴,因为一定是我忽略了某些愚蠢的事情。当我使用
<
时,为什么也不会出现无限循环呢?为什么在这种情况下什么都不打印?如果counter2
总是小于10,为什么它不会不断进行下去呢?提前感谢大家。
编辑:好吧,我意识到为什么在检查
<
时没有输出任何内容...我应该使用$counter2
而不是只有counter2
来获取counter2
的实际值。但现在它只是输出:1
2
就是这样了...感觉自己好蠢啊。