Sleep是一个命令行实用程序,可让您在指定的时间中挂起调用的进程。换句话说,sleep命令将下一条命令的执行之前暂停指定的秒数。

当在bash shell脚本中使用(例如,重试失败的操作或在循环内)时,sleep命令特别有用。

在本教程中,我们将向您展示如何使用Linux sleep命令。

如何使用sleep命令

sleep命令的语法如下:

sleep NUMBER [SUFFIX]...

NUMBER可以是正整数或浮点数。

SUFFIX可能是下列之一:

  • s -秒(默认)
  • m - 分钟
  • h - 小时
  • d - 天

如果不使用后缀,则默认为秒。

指定两个或多个参数时,总时间等于其值的总和。

以下是一些简单的示例,演示了如何使用sleep命令:

睡眠5秒:

sleep 5

睡眠0.5秒:

sleep 0.5

睡眠2分30秒:

sleep 2m 30s

Bash脚本示例

以下是如何在Bash脚本中使用sleep命令的最基本示例。运行脚本时,它将以格式显示当前时间HH:MM:SS。然后sleep命令将脚本暂停5秒钟。经过指定的时间段后,脚本的最后一行将再次打印当前时间。

#!/bin/bash

# start time
date +"%H:%M:%S"

# sleep for 5 seconds
sleep 5

# end time
date +"%H:%M:%S"

输出将如下所示:

13:34:40
13:34:45

让我们看一个更高级的例子。

#!/bin/bash

while :
do
  if ping -c 1 ip_address &> /dev/null
  then
    echo "Host is online"
    break
  fi
  sleep 5
done

上面的脚本将每隔5秒检查一次主机是否在线,当主机在线时,该脚本将通知您并停止。

脚本的工作方式:

  • 在第一行中,我们创建一个无限的while循环
  • 然后,我们使用ping命令确定IP地址为的主机是否ip_address可访问。
  • 如果主机可访问,脚本将回显 “主机在线”并终止循环。
  • 如果主机不可访问,sleep命令将脚本暂停5秒钟,然后循环从头开始。

结论

到目前为止,您应该对如何使用Linux sleep命令有一个很好的了解。

sleep命令是最简单的shell命令之一,仅接受一个用于指定睡眠间隔的参数。

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持