我正在尝试学习unix并练习循环。有人可以解释为什么遇到语句后输出被暂停吗continue
?
之后输出暂停,我用+Count : 4
退出。CtrlC
代码:
COUNT=0
while [ $COUNT -lt 10 ]
do
if [ $COUNT = 5 ]
then
continue
fi
echo "Count : $COUNT"
((COUNT++))
done
echo "while loop finished"
exit 0
答案1
原因相当简单:您的continue
语句指示 shell 立即跳到下一个循环迭代。
不幸的是,你因此跳过了这((COUNT++))
部分,这意味着一旦COUNT
达到 5,它就不会再增加,并且条件while
永远不会得到满足,因此从那时起你就陷入了无限循环。
COUNT
如果像 @steeldriver 假设的那样,您想在 a of处跳出循环5
,则该break
语句将是正确的选择。
总而言之,如果您有兴趣了解有关 shell 脚本的更多信息,我建议您GreyCat&Lhunath 的 Bash 指南。另外,通过运行您的脚本shellcheck
(也可以在许多操作系统存储库上作为独立程序使用)可以帮助识别语法错误等。