您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么在Linux的bash中實現永遠循環,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
在 Linux 中有很多永遠循環(或直到你決定停止)的方法,你可以在命令行或腳本中執行此操作。
for
和 while
命令使這件事非常容易。關于相應的語法和策略,只有幾件事要牢記。
最簡單的永遠循環之一是使用 while
命令,后面跟上條件 true
。 你不必使用諸如 while [ 1 -eq 1 ]
之類的邏輯或類似的測試。 while true
測試表示循環將一直運行,直到你使用 CTRL-C
停止循環、關閉終端窗口或注銷為止。這是一個例子:
$ while true> do> echo Keep running> sleep 3> doneKeep runningKeep runningKeep running^C
你也可以使用 while :
做同樣的事情。這里的關鍵是 :
總是返回成功,因此就像 while true
一樣,此測試永遠不會失敗,并且循環會繼續運行:
$ while :> do> echo Keep running> sleep 3> doneKeep runningKeep running^C
如果你在腳本中插入了無限循環,并想提醒使用它的人如何退出腳本,那么可以使用 echo
命令添加提示:
while :do echo Keep running echo "Press CTRL+C to exit" sleep 1done
for
命令還提供了一種永遠循環的簡便方法。雖然不如 while true
明顯,但語法相當簡單。你只需要在有界循環中替換參數即可,它通常類似于 “c 從等于 1 開始遞增,直到 5”:
$ for (( c=1; c<=5; c++ ))
不指定任何參數的情況下:
$ for (( ; ; ))
沒有起始值、增量或退出測試,此循環將永遠運行或被強制停止:
$ for (( ; ; ))> do> echo Keep running> echo “Press CTRL+C to exit”> sleep 2> doneKeep your spirits upKeep your spirits upKeep your spirits up
在現實中,你不會想永遠循環下去,但一直運行直到想要回家、工作完成或者遇到問題才退出并不罕見。任何構造為無限循環的循環都可以設置為根據各種情況退出。
該腳本將一直處理數據直到下午 5 點,或者說檢查發現第一次超過 5 點的時間:
#!/bin/bash while truedo if [ `date +%H` -ge 17 ]; then exit # exit script fi echo keep running ~/bin/process_data # do some workdone
如果要退出循環而不是退出腳本,請使用 break
命令而不是 exit
。
#!/bin/bash while truedo if [ `date +%H` -ge 17 ]; then break # exit loop fi echo keep running ~/bin/process_datadone… run other commands here …
感謝你能夠認真閱讀完這篇文章,希望小編分享的“怎么在Linux的bash中實現永遠循環”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。