【发布时间】:2012-04-22 08:27:20
【问题描述】:
我在 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
就是这样……我觉得自己像个笨蛋。
【问题讨论】:
-
while [[ counter2
标签: bash arithmetic-expressions