Skip to main content

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

Anonim

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

除非您喜欢锁定终端窗口,否则sleep命令本身是完全无用的,但作为脚本的一部分,它可以以多种不同的方式使用,包括在重试命令之前作为暂停因子。

例如,假设您有一个处理从另一个服务器复制的文件的脚本。在所有文件下载完毕之前,脚本不应启动复制过程。下载过程由完全独立的脚本执行。

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

脚本不断测试,因为它占用了处理器时间。相反,您可以选择测试是否有足够的文件被复制,如果没有,请暂停几分钟,然后再试一次。在这些情况下,睡眠命令是完美的。

如何使用sleep命令

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

睡5s

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

sleep命令需要关键字“sleep”,后跟您希望暂停的数字,然后是度量单位。

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

  • s - 秒
  • 米 - 分钟
  • h - 小时
  • d - 天

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

sleep命令的编号不必是整数。您也可以使用浮点数。

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

睡觉3.5秒

示例用于sleep命令

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

#!/斌/庆典X = 10而$ x -gt 0睡1s明确回声“$ x秒直到爆炸”x = $(($ x - 1))DONE

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

sleep命令每次在循环周围暂停脚本1秒钟。

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

如果没有sleep命令,脚本将进行放大,消息显示得太快。

开关

sleep命令只有几个开关。

--help开关显示sleep命令的帮助文件。您可以使用man命令实现相同的操作,如下所示:

男人睡觉

--version命令显示系统上安装的sleep命令的版本。

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

  • 版本号
  • 版权详情
  • 执照
  • 作者