Bash休眠(sleep命令)

在本小節中,將瞭解如何通過使用不同的bash腳本來使用sleep命令。Sleep是一個命令行實用程式,可在指定的時間中暫停調用過程。換句話說,Bash sleep命令用於在指定的時間段內插入延遲或暫停執行。

當程式員出於特定目的需要暫停執行任何命令時,可以將該命令與特定時間值一起使用。可以按秒(s),分鐘(m),小時(h)和天(d)設置延遲量。在bash shell腳本中使用此命令時特別有用。

sleep命令語法

以下是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腳本示例

下麵將在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,並執行得到以下結果:

Bash sleep命令示例

腳本如何工作?

當我們運行腳本時,它將以HH:MM:SS格式列印當前時間。然後,echo命令將執行並顯示消息“wait for 9 seconds”。然後,sleep命令將執行並將腳本暫停9秒鐘。經過指定的時間段後,腳本的下一行將再次列印當前時間。最後,echo命令將顯示消息“Task Completed”

同樣,可以指定在幾分鐘,幾小時和幾天內運行sleep命令。


上一篇: Bash日期格式化 下一篇: Bash算術運算符