溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Linux的bash中實現(xiàn)永遠循環(huán)

發(fā)布時間:2021-10-22 14:26:54 來源:億速云 閱讀:197 作者:小新 欄目:系統(tǒng)運維

這篇文章主要介紹了怎么在Linux的bash中實現(xiàn)永遠循環(huán),具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

在 Linux 中有很多永遠循環(huán)(或直到你決定停止)的方法,你可以在命令行或腳本中執(zhí)行此操作。

for 和 while 命令使這件事非常容易。關于相應的語法和策略,只有幾件事要牢記。

使用 while

最簡單的永遠循環(huán)之一是使用 while 命令,后面跟上條件 true。 你不必使用諸如 while [ 1 -eq 1 ] 之類的邏輯或類似的測試。 while true 測試表示循環(huán)將一直運行,直到你使用 CTRL-C 停止循環(huán)、關閉終端窗口或注銷為止。這是一個例子:

$ while true> do>   echo Keep running>   sleep 3> doneKeep runningKeep runningKeep running^C

你也可以使用 while : 做同樣的事情。這里的關鍵是 : 總是返回成功,因此就像 while true 一樣,此測試永遠不會失敗,并且循環(huán)會繼續(xù)運行:

$ while :> do>   echo Keep running>   sleep 3> doneKeep runningKeep running^C

如果你在腳本中插入了無限循環(huán),并想提醒使用它的人如何退出腳本,那么可以使用 echo 命令添加提示:

while :do        echo Keep running        echo "Press CTRL+C to exit"        sleep 1done

使用 for

for 命令還提供了一種永遠循環(huán)的簡便方法。雖然不如 while true 明顯,但語法相當簡單。你只需要在有界循環(huán)中替換參數(shù)即可,它通常類似于 “c 從等于 1 開始遞增,直到 5”:

$ for (( c=1; c<=5; c++ ))

不指定任何參數(shù)的情況下:

$ for (( ; ; ))

沒有起始值、增量或退出測試,此循環(huán)將永遠運行或被強制停止:

$ for (( ; ; ))> do>    echo Keep running>   echo “Press CTRL+C to exit”>    sleep 2> doneKeep your spirits upKeep your spirits upKeep your spirits up

為什么要永遠循環(huán)?

在現(xiàn)實中,你不會想永遠循環(huán)下去,但一直運行直到想要回家、工作完成或者遇到問題才退出并不罕見。任何構造為無限循環(huán)的循環(huán)都可以設置為根據各種情況退出。

該腳本將一直處理數(shù)據直到下午 5 點,或者說檢查發(fā)現(xiàn)第一次超過 5 點的時間:

#!/bin/bash while truedo  if [ `date +%H` -ge 17 ]; then    exit        # exit script  fi  echo keep running  ~/bin/process_data     # do some workdone

如果要退出循環(huán)而不是退出腳本,請使用 break 命令而不是 exit。

#!/bin/bash while truedo  if [ `date +%H` -ge 17 ]; then    break       # exit loop  fi  echo keep running  ~/bin/process_datadone&hellip; run other commands here &hellip;

感謝你能夠認真閱讀完這篇文章,希望小編分享的“怎么在Linux的bash中實現(xiàn)永遠循環(huán)”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI