在 Bash 脚本中使用 Linux Sleep 命令

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

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

Sleep 命令有一个简单的语法:

sleep Number[Suffix]

在这里,后缀可能是:

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

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

Bash sleep 命令示例

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

无后缀的睡眠命令以秒为单位计数

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

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 以及。 如果您有任何问题或建议,请随时提出。

相关阅读:

Posted in: Linux