Linux 中的 Bash 睡眠命令示例
本教程向您展示如何在 bash 脚本中使用 sleep 命令及其各种选项。
Linux sleep 命令是最简单的命令之一。从名字就可以猜到,它唯一的功能就是睡觉。换句话说,它引入了指定时间的延迟。
因此,如果您将 sleep 命令与 x 一起使用,则下一个命令只能在 x 秒后运行。
Sleep 命令的语法很简单:
sleep Number[Suffix]
在这里,后缀可以是:
s 秒。这是默认设置。
m 分钟。
h 数小时。
d 几天。
让我们看一些 sleep 命令的示例。
Bash 睡眠命令示例
尽管您可以直接在 shell 中使用它,但 sleep 命令通常用于在 bash 脚本的执行中引入延迟。我将通过示例 bash 脚本展示 sleep 命令的用法。
不带后缀的睡眠命令以秒为单位计数
假设你想暂停 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
如果您想隔日或工作日跑步,这可能会有所帮助。
包含秒、分、小时和日组合的睡眠命令
您没有义务一次只能使用一个后缀。您可以使用多个后缀,睡眠持续时间是所有后缀的总和。
例如,如果您使用以下命令:
sleep 1h 10m 5s
这将使脚本等待 1 小时 10 分 5 秒。请注意,此处 s 后缀仍然是可选的。
额外提示:睡眠时间少于一秒
您可能已经注意到 sleep 命令中的最小时间单位是秒。但是如果您的 bash 脚本休眠几毫秒怎么办?
好处是您可以在 sleep 命令中使用浮点(小数点)。
因此,如果您想引入 5 毫秒的暂停,请像这样使用:
sleep 0.005
您还可以使用带有其他后缀的小数点。
sleep 1.5h 7.5m
将会延误 1 小时 37 分 30 秒。
我希望您在阅读这些睡眠命令示例时没有睡觉?
如果您对 shell 脚本感兴趣,也许您还想阅读有关 bash 中的字符串比较的内容。如果您有疑问或建议,请随时询问。