Linux Sleep命令(暂停Bash脚本)

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

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

在本教程中,我们将向您展示如何使用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脚本示例

在本节中,我们将介绍一些基本的Shell脚本,以了解如何 sleep 使用命令。

#!/bin/bash

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

# sleep for 5 seconds
sleep 5

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

运行脚本时,它将打印当前时间 HH:MM:SS 格式。 然后 sleep 命令将脚本暂停5秒钟。 经过指定的时间段后,脚本的最后一行将显示当前时间。

输出将如下所示:

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秒钟,然后循环从头开始。

结论#

sleep command是最简单的Linux命令之一。 它用于在给定的时间内暂停下一条命令的执行。

如果您有任何疑问或反馈,请随时发表评论。

睡眠终端

Sidebar