在本小節中,將了解如何通過使用不同的bash指令碼來使用sleep命令。Sleep是一個命令列實用程式,可在指定的時間中暫停呼叫過程。換句話說,Bash sleep命令用於在指定的時間段內插入延遲或暫停執行。
當程式員出於特定目的需要暫停執行任何命令時,可以將該命令與特定時間值一起使用。可以按秒(s),分鐘(m),小時(h)和天(d)設定延遲量。在bash shell指令碼中使用此命令時特別有用。
以下是Bash中sleep命令的語法:
sleep number[suffix]
可以使用正整數或小數作為時間值。字尾是可選部分。可以將以下任意一項用作字尾:
s
- 表示秒m
- 表示分鐘h
- 表示小時d
- 表示天注意:如果沒有字尾,則數位以秒為單位(預設情況下)。
如果指定了兩個或多個引數,則總的時間將被視為等於值之和的時間。
以下是一些簡單的範例,演示了如何使用sleep
命令:
睡眠9
秒鐘,使用:
sleep 9 或 sleep 9s
睡眠0.5
秒鐘,使用:
sleep 0.5 或 sleep 0.5s
睡眠2分30秒,使用:
sleep 2m 30s
睡眠8小時,使用:
sleep 8h
睡眠2天9小時5分55秒,使用:
sleep 2d 9h 5m 55s
下面將在Bash中演示如何使用sleep命令。
Bash指令碼:
#!/bin/bash
# start time
date +"%H:%M:%S"
echo "wait for 9 seconds"
# sleep for 9 seconds
sleep 9s
# you can also use "sleep 9" in place of "sleep 9s" because if there is no suffix, it is considered as "seconds".
# end time
date +"%H:%M:%S"
echo "Task Completed"
將上面範例程式碼儲存到檔案:bash-sleep.sh,並執行得到以下結果:
當我們執行指令碼時,它將以HH:MM:SS
格式列印當前時間。然後,echo
命令將執行並顯示訊息「wait for 9 seconds」
。然後,sleep
命令將執行並將指令碼暫停9秒鐘。經過指定的時間段後,指令碼的下一行將再次列印當前時間。最後,echo
命令將顯示訊息「Task Completed」
。
同樣,可以指定在幾分鐘,幾小時和幾天內執行sleep
命令。