在 Bash 脚本中使用 Linux Sleep 命令
Linux sleep 命令是最简单的命令之一。从名称中你就能猜到,它的唯一功能就是休眠。换句话说,它会延迟指定的时间。
因此,如果您使用带有 x 的sleep 命令,则下一个命令只能在 x 秒后运行。
Sleep 命令的语法很简单:
sleep Number[Suffix]
在这里,后缀可以是:
- s 表示秒。这是默认值。
- m 代表分钟。
- h 表示小时。
- d 代表天。
让我们看一些 sleep 命令的例子。
Bash sleep 命令示例
虽然可以直接在 shell 中使用它,但 sleep 命令通常用于在 bash 脚本的执行中引入延迟。我将通过示例 bash 脚本展示 sleep 命令的用法。
不带后缀的睡眠命令以秒为单位
假设您想暂停 bash 脚本 5 秒,您可以像这样使用 sleep:
sleep 5
在示例 Bash 脚本中,它看起来像这样:
!/bin/bash
echo "Sleeping for 5 seconds…"
sleep 5
echo "Completed"
如果使用时间命令运行它,您会看到 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 秒。
我希望您在阅读这些 sleep 命令示例时没有睡着?
如果您对 shell 脚本感兴趣,也许您也想阅读有关bash 中的字符串比较的文章。如果您有任何问题或建议,请随时提出。