bash shell 死循环
时间:2019-11-20 08:53:00 来源:igfitidea点击:
在linux shell脚本中,如何编写死循环?
死循环(无限循环)是一组无休止一直执行的指令。由于循环没有终止条件,或者有一个永远无法满足的条件,导致这些指令一直执行。
使用while的死循环语法如下:
#!/bin/bash while : do echo "Press [CTRL+C] to stop.." sleep 1 done
请注意:
是空命令。
空命令不执行任何操作,并且其退出状态始终设置为true。
我们可以修改成下面的内容以提高可读性:
#!/bin/bash while true do echo "Press [CTRL+C] to stop.." sleep 1 done
或者将while循环写在1行:
while :; do echo 'Hit CTRL+C'; sleep 1; done
或者
while true; do echo 'Hit CTRL+C'; sleep 1; done
使用for语句的无限循环示例
#!/bin/bash for (( ; ; )) do echo "Pres CTRL+C to stop..." sleep 1 done
如何退出循环?
当满足某些条件时,可以使用break语句从for或while循环中断退出:
for (( ; ; )) do echo "Pres CTRL+C to stop..." sleep 1 if (判断条件) then break # 退出循环 fi done
或者
while : do echo "Pres CTRL+C to stop..." sleep 1 if (判断条件) then break # 退出循环 fi done
还可以将case语句和break语句结合使用:
while : do case $var in yes) do something ;; no) do something ;; quit) break ;; # 退出循环 ease done