在编写 shell 脚本时,你可能会发现在继续之前需要等待特定秒数。例如,你可能希望脚本在进程完成时或在重试失败的命令之前等待。

为此,你可以使用非常简单的 sleep 命令。

如何使用 Bash sleep 命令

sleep 是一个非常通用的命令,具有非常简单的语法,只需要输入 sleep N。这将使你的脚本暂停 N 秒,其中 N 是正整数或浮点数。

看一下这个基本的示例:

echo "Hello there!"
sleep 2
echo "Oops! I fell asleep for a couple seconds!"

这个脚本的结果如下所示:

gif of script running

同样,你可以使用浮点数。例如,sleep .8 将使你的脚本暂停 0.8 秒。

sleep 命令的基本用法就是这样了!

使用 sleep 命令时的注意事项

sleep 的默认时间单位是,这就是为什么我们不必在上面的示例中指定单位。

在某些类型的机器(即 BSD 系统和 MacOS)上,唯一支持的时间单位是秒。其他类 Unix 操作系统可能会支持以下时间单位:

  • s:秒
  • m:分钟
  • h:小时
  • d:天

也可以在 sleep 命令中使用多个参数。如果包含两个或更多数字,系统将等待与这些数字之和相等的时间。

例如, sleep 2m 30s 将创建 2 分半钟的停顿。请注意,要在 MacOS 或 BSD 机器上获得相同的结果,你将运行等效的命令 sleep 150,因为 2 分 30 秒等于 150 秒。

总结

sleep 命令是一种在 Bash 脚本中添加暂停的有用方法。与其他命令结合使用,sleep 可以帮助你创建定时警报、以正确的顺序运行操作、间隔尝试连接到网站等等。将这个简单但功能强大的工具放入你的 Bash 工具箱,开始编写代码吧!

原文:Bash Sleep – How to Make a Shell Script Wait N Seconds (Example Command),作者:Veronica Stork