如何使用Linux“sleep”命令暫停BASH腳本

本指南介紹如何使用Linux睡眠命令暫停bash腳本。

就其本身而言,睡眠命令是完全無用的,除非您想鎖定終端窗口,但作為腳本的一部分,它可以以許多不同的方式使用,包括在重試命令之前作為暫停因素。

例如,假設您有一個處理從另一台服務器複製的文件的腳本。 在所有文件完成下載之前,腳本不應該開始復製過程。

下載過程由完全獨立的腳本執行。

用於復製文件的腳本可能包含一個循環,用於測試是否已下載所有文件(即,它知道應該有50個文件,並且當找到50個文件時,複製過程已啟動)。

腳本不斷測試,因為它佔用處理器時間。 相反,您可能會選擇測試是否複製了足夠多的文件,以及是否暫停了幾分鐘,然後重試。 在這些情況下,睡眠命令是完美的。

如何使用sleep命令

要使用Linux睡眠命令,請在終端窗口中輸入以下內容:

睡5s

上述命令將使您的終端暫停5秒,然後再返回到命令行。

睡眠命令需要關鍵字sleep,然後是要暫停的數字,然後是度量單位。

您可以指定以秒,分鐘,小時或天為單位的延遲。

當需要等待某些事情發生時,可能需要考慮使用cron作業來定期運行腳本,而不是讓腳本在後台運行幾天。

睡眠命令的編號不一定是整數。

您也可以使用浮點數。

例如,使用以下語法完全可以:

睡3.5s

一個用於睡眠命令的例子

以下腳本顯示如何使用sleep命令創建基於終端的倒計時時鐘:

#!/斌/慶典

X = 10

而[$ x -gt 0]

睡1s

明確

迴聲“$ x秒直到爆發”

x = $(($ x - 1))

DONE

該腳本將變量x設置為10. while循環將繼續迭代,而x的值大於零。

睡眠命令每次在循環中暫停腳本1秒鐘。

腳本的其餘部分每次迭代清除屏幕,顯示消息“x秒直到爆發”(即10),然後從x的值中減去1。

如果沒有睡眠命令,腳本會縮小並且消息顯示得太快。

睡眠命令只有幾個開關。

--help開關顯示睡眠命令的幫助文件。 你可以通過使用man命令來達到同樣的效果,如下所示:

男人睡覺

--version命令顯示安裝在系統上的睡眠命令的版本。

--version開關返回的信息如下所示: