Bash休眠(sleep命令)

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命令。