bash while 循环不会自行停止

标签 bash loops while-loop

我得到了这个简单的脚本,它应该创建一堆帐号,它应该接受两个值:起始帐号和要创建的帐户数量。不断增加帐号。例如:

./pre_v_test.sh 123 3 应该给

123

124

125

现在它确实做到了这一点,但只有一个问题:完成后它无法停止。 结果看起来更像是这样的:

....
Writing subsriber: 102145
lalala
Writing subsriber: 102145
lalala
Writing subsriber: 102145
lalala
....

你明白了。

下面是代码:

#!/bin/bash

i_loop="0"
while [ $i_loop -lt $2 ]
do

i_subscriber=`expr $1 + $i_loop`

echo Writing subsriber: $i_subscriber

#actual account details here, not relevent to the question 

echo "lalala"
done

我在这里查看了这个 while 循环的示例( http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_09_02.html ),但我一生都无法发现差异,是什么导致他的工作和我的工作失败?此外,截至两个月前,该脚本正在运行。和现在唯一的区别是,上次是在真正的 SUSE 上,这次是在 vmware 上的 SUSE 上。

谢谢大家 戴维

最佳答案

您没有增加变量:

#!/bin/bash

i_loop=0

while [ $i_loop -lt $2 ]
do

i_subscriber=`expr $1 + $i_loop`

echo Writing subsriber: $i_subscriber

i_loop=`expr $i_loop + 1`

done

关于bash while 循环不会自行停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15575497/

相关文章:

javascript - WinJS 中的异步问题

javascript - 加载功能导致网站停滞

php - 将 aukciono_id 从一张表转移到另一张表

bash 意外 token 然后错误

string - 在 bash 中返回破折号之前的子字符串,后跟数字

arrays - 在 Bash 中的不同行上打印数组元素?

c# - "For"循环增量无法正常工作。为什么?

jquery - 水平(在表格中)而不是垂直列出数据

node.js - 未找到 Mongod 命令 (Windows7) (node.js)

javascript - 如何使用 Jquery onclick 获取数组的下一个元素