如何使用Linux“sleep”命令暂停BASH脚本

本指南介绍如何使用Linux睡眠命令暂停bash脚本。

就其本身而言,睡眠命令是完全无用的,除非您想锁定终端窗口,但作为脚本的一部分,它可以以许多不同的方式使用,包括在重试命令之前作为暂停因素。

例如,假设您有一个处理从另一台服务器复制的文件的脚本。 在所有文件完成下载之前,脚本不应该开始复制过程。

下载过程由完全独立的脚本执行。

用于复制文件的脚本可能包含一个循环,用于测试是否已下载所有文件(即,它知道应该有50个文件,并且当找到50个文件时,复制过程已启动)。

脚本不断测试,因为它占用处理器时间。 相反,您可能会选择测试是否复制了足够多的文件,以及是否暂停了几分钟,然后重试。 在这些情况下,睡眠命令是完美的。

如何使用sleep命令

要使用Linux睡眠命令,请在终端窗口中输入以下内容:

睡5s

上述命令将使您的终端暂停5秒,然后再返回到命令行。

睡眠命令需要关键字sleep,然后是要暂停的数字,然后是度量单位。

您可以指定以秒,分钟,小时或天为单位的延迟。

当需要等待某些事情发生时,可能需要考虑使用cron作业来定期运行脚本,而不是让脚本在后台运行几天。

睡眠命令的编号不一定是整数。

您也可以使用浮点数。

例如,使用以下语法完全可以:

睡3.5s

一个用于睡眠命令的例子

以下脚本显示如何使用sleep命令创建基于终端的倒计时时钟:

#!/斌/庆典

X = 10

而[$ x -gt 0]

睡1s

明确

回声“$ x秒直到爆发”

x = $(($ x - 1))

DONE

该脚本将变量x设置为10. while循环将继续迭代,而x的值大于零。

睡眠命令每次在循环中暂停脚本1秒钟。

脚本的其余部分每次迭代清除屏幕,显示消息“x秒直到爆发”(即10),然后从x的值中减去1。

如果没有睡眠命令,脚本会缩小并且消息显示得太快。

睡眠命令只有几个开关。

--help开关显示睡眠命令的帮助文件。 你可以通过使用man命令来达到同样的效果,如下所示:

男人睡觉

--version命令显示安装在系统上的睡眠命令的版本。

--version开关返回的信息如下所示: