本指南介绍如何使用Linux睡眠命令暂停bash脚本。
就其本身而言,睡眠命令是完全无用的,除非您想锁定终端窗口,但作为脚本的一部分,它可以以许多不同的方式使用,包括在重试命令之前作为暂停因素。
例如,假设您有一个处理从另一台服务器复制的文件的脚本。 在所有文件完成下载之前,脚本不应该开始复制过程。
下载过程由完全独立的脚本执行。
用于复制文件的脚本可能包含一个循环,用于测试是否已下载所有文件(即,它知道应该有50个文件,并且当找到50个文件时,复制过程已启动)。
脚本不断测试,因为它占用处理器时间。 相反,您可能会选择测试是否复制了足够多的文件,以及是否暂停了几分钟,然后重试。 在这些情况下,睡眠命令是完美的。
如何使用sleep命令
要使用Linux睡眠命令,请在终端窗口中输入以下内容:
睡5s
上述命令将使您的终端暂停5秒,然后再返回到命令行。
睡眠命令需要关键字sleep,然后是要暂停的数字,然后是度量单位。
您可以指定以秒,分钟,小时或天为单位的延迟。
- 秒 - 秒
- 米 - 分钟
- 小时
- d - 天
当需要等待某些事情发生时,可能需要考虑使用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开关返回的信息如下所示:
- 版本号
- 版权细节
- 执照
- 作者