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