本指南介紹如何使用Linux睡眠命令暫停bash腳本。
就其本身而言,睡眠命令是完全無用的,除非您想鎖定終端窗口,但作為腳本的一部分,它可以以許多不同的方式使用,包括在重試命令之前作為暫停因素。
例如,假設您有一個處理從另一台服務器複製的文件的腳本。 在所有文件完成下載之前,腳本不應該開始復製過程。
下載過程由完全獨立的腳本執行。
用於復製文件的腳本可能包含一個循環,用於測試是否已下載所有文件(即,它知道應該有50個文件,並且當找到50個文件時,複製過程已啟動)。
腳本不斷測試,因為它佔用處理器時間。 相反,您可能會選擇測試是否複製了足夠多的文件,以及是否暫停了幾分鐘,然後重試。 在這些情況下,睡眠命令是完美的。
如何使用sleep命令
要使用Linux睡眠命令,請在終端窗口中輸入以下內容:
睡5s
上述命令將使您的終端暫停5秒,然後再返回到命令行。
睡眠命令需要關鍵字sleep,然後是要暫停的數字,然後是度量單位。
您可以指定以秒,分鐘,小時或天為單位的延遲。
- 秒 - 秒
- 米 - 分鐘
- 小時
- d - 天
當需要等待某些事情發生時,可能需要考慮使用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開關返回的信息如下所示:
- 版本號
- 版權細節
- 執照
- 作者