如何使用sleep命令开关
sleep 命令只有几个开关。
--help 开关显示 sleep 命令的帮助文件。
我们可以通过使用 man 命令来实现相同的目的,如下所示:
man sleep
--version 开关显示系统上安装的 sleep 命令的版本。
--version 开关返回的信息如下:
- 版本号
- 版权详情
- 许可证
- 作者
使用sleep暂停终端命令
sleep 命令的另一个很好的用途是暂停我们在终端窗口中键入的命令。
如果需要,我们可以连续键入两个命令,等待第一个命令完成后再键入第二个命令。
但是,更快的方法是在一行中键入两个命令,在每个命令之间输入一个 sleep 命令:
$ cd /mydirectory/ && sleep 3 && ls
此命令的工作原理:
- cd /mydirectory/ 命令更改目录。
- sleep 3 命令等待 cd 命令完成三秒钟。
- ls 命令执行并显示目录内容。
对于像这样的简单示例, sleep 命令只会节省一点时间。
但是,如果我们有很长的命令列表,则在一行中键入命令的功能可以节省时间。
如何使用sleep命令
要使用 Linux sleep 命令,请在终端窗口中输入以下内容:
sleep 5s
上述命令使终端在返回命令行之前暂停 5 秒。
sleep 命令需要关键字 sleep ,后跟要暂停的数字和度量单位。
我们可以以秒、分钟、小时或者天为单位指定延迟。
- s : 秒
- m :分钟
- h : 小时
- d : 天
当需要暂停脚本数天时,请使用 cron 作业定期运行脚本,而不是让脚本在后台运行数天。
cron 作业是一个 Linux 命令或者脚本,我们可以安排它在设定的时间或者日期运行。
这些对于长时间重复任务很有用。
睡眠命令间隔的数字不必是整数。
我们还可以使用浮点数。
例如,以下语法包括几分之一秒:
sleep 3.5s
使用 Sleep 命令的示例
以下脚本显示了如何使用 sleep 命令制作基于终端的倒计时时钟:
#!/bin/bash x=10 while [ $x -gt 0 ] do sleep 1s clear echo "$x seconds until blast off" x=$(( $x - 1 )) done
下面是这个脚本的工作原理:
- 该脚本将变量 x 设置为 10.
- 当 x 的值大于零时,while 循环继续迭代。
- sleep 命令每次循环时都会暂停脚本 1 秒。
- 脚本的其余部分在每次迭代时清除屏幕,显示消息“x 秒直到爆炸”,并从 x 的值中减去 1.
使用 Sleep 命令的示例
假设我们有一个脚本来处理从另一台服务器下载的文件。
在所有文件完成下载之前,脚本不应开始复制过程。
下载过程由在我们之前运行的单独脚本执行。
复制文件的脚本可能包含一个循环来测试是否所有文件都已下载(它通过在开始复制过程之前检查是否找到 50 个文件来完成此操作)。
不断进行脚本测试毫无意义,因为这会占用处理器时间。
相反,我们可能会在每次测试之间暂停几分钟,然后再试一次。
sleep 命令在这种情况下是完美的。