在 Bash 脚本中使用 Linux 睡眠命令

Linux sleep 命令是目前最简单的命令之一。 从名字就可以猜到,它唯一的功能就是睡觉。 换句话说,它引入了指定时间的延迟。

所以,如果你使用 睡眠命令 使用 x 并且下一个命令只能在 x 秒后运行。

睡眠命令有一个简单的语法:

sleep Number[Suffix]

在这里,后缀可以是:

  • s 秒。 这是默认设置。
  • m 为分钟。
  • h 几个小时。
  • d 几天。

让我们看一些 sleep 命令的例子。

Bash 睡眠命令示例

虽然您可以直接在 shell 中使用它,但 sleep 命令通常用于引入延迟执行 bash 脚本。 我将通过示例展示 sleep 命令的用法 bash 脚本。

不带后缀的睡眠命令以秒计

假设你想暂停你的 bash 脚本 5 秒,你可以像这样使用睡眠:

sleep 5

在一个样本中 bash 脚本,它可能看起来像这样:

!/bin/bash
echo "Sleeping for 5 seconds…"
sleep 5
echo "Completed"

如果你用 time 命令运行它,你会看到 bash 脚本实际上运行了(稍微)超过 5 秒。

time ./sleep.sh 
Sleeping for 5 seconds…
Completed

real    0m5.008s
user    0m0.000s
sys    0m0.007s

带有分钟或小时或天后缀的睡眠命令

您可以通过以下方式以分钟为单位指定睡眠时间:

sleep 1m

这将使脚本/shell 暂停一分钟。 如果你想在几个小时内延迟脚本,你可以使用 h 选项来做到这一点:

sleep 2h

即使你想暂停 bash 几天的脚本,您可以使用 d 后缀来执行此操作:

sleep 5d

如果您想在隔天或工作日运行,这可能会有所帮助。

具有秒、分、小时和日组合的睡眠命令

您不必一次只使用一个后缀。 您可以使用多个后缀,并且睡眠的持续时间是所有后缀的总和。

为了 example,如果您使用以下命令:

sleep 1h 10m 5s

这将使脚本等待 1 小时 10 分 5 秒。 请注意,此处的 s 后缀仍然是可选的。

额外提示:睡眠时间少于一秒

您可能已经注意到 sleep 命令中的最小时间单位是秒。 但是如果你的 bash 脚本休眠几毫秒?

好消息是您可以在 sleep 命令中使用浮点(小数点)。

因此,如果您想引入 5 毫秒的暂停,请像这样使用它:

sleep 0.005

您还可以将小数点与其他后缀一起使用。

sleep 1.5h 7.5m

它将引入 1 小时 37 分 30 秒的延迟。

我希望你在阅读这些 sleep 命令示例时没有睡觉?

如果您对 shell 脚本感兴趣,也许您想阅读有关字符串比较的内容 bash 也是。 如果您有任何问题或建议,请随时提出。