当你写一个shell脚本时,你可能会发现你需要它在继续进行之前等待一定的秒数。例如,你可能想让脚本在一个进程完成时或在重试一个失败的命令前等待。
要做到这一点,你可以使用非常直接的sleep 命令。
如何使用Bash的Sleep命令
Sleep 是一个非常通用的命令,语法非常简单。它就像输入sleep N 一样简单。这将使你的脚本暂停N 秒,其中N 是一个正整数或浮点数。
考虑一下这个基本的例子:
echo "Hello there!"
sleep 2
echo "Oops! I fell asleep for a couple seconds!"
这个脚本的结果会是这样的:

同样地,你可以用浮点数来表示秒的分数。例如,sleep .8 将使你的脚本停顿0.8秒。
这就是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工具箱中,然后继续编码吧!