theme: condensed-night-purple
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
上文有讲到了《延迟执行
at命令》,它能延迟执行命令,且只能延迟执行一次。这篇文章简单分析另外一个非常冷门的命令sleep,它同样能够将目前的动作延迟一段时间后再执行。
在使用sleep命令之前,我们先来观察下面的一组命令。 $touch new.file;rm new.file 这个以分号相隔离的多条命令,会依次执行,即前面的指令执行完成,后面的指令就会跟着执行,先执行的结果不会对后续的操作有影响。这种方式跟着管道操作比较相似,但并不是管道,对于管道操作,前面的命令的操作的输出会作为接下来命令执行的输入。
这条命令执行的结果如下图所示。
输出结果表示确实先创建了文件new.file,然后执行删除文件操作,操作之前有提示确认信息。
如果我们并不想立刻马上删除文件,想延迟一段时间执行怎么办呢?请使用sleep命令。 $touch new.file;sleep 30;rm new.file 上面的脚本表示,创建新文件,延迟暂停30秒后,再删除这个文件。是不是用法很简单。语法如下。 sleep [--help] [--version] number[smhd] 默认地,number数值的单位表示秒,可省略不写。我们也可以加上单位m h d,分别表示“分钟”、“小时”、“天数”。比如刚才的脚本可改成 $touch new.file;sleep 30m;rm new.file 表示文件创建完成后,暂停30分钟再删除文件。
最近不是流行废话学吗,我们也可以写一个有趣的脚本。 $date;sleep 30m;date 显示目前时间后延迟 1 分钟,之后再次显示时间。是不是画蛇添足!
是不是没看够,下一篇文章讲用法趣多多的crontab命令。
本文介绍了Linux命令sleep的使用,它能延迟命令执行。通过示例展示了如何在创建文件后延迟删除,以及结合date命令创建有趣的脚本。文章还提到了与at命令的区别,强调了sleep在延时操作中的简单应用。
564

被折叠的 条评论
为什么被折叠?



