Answers:
Hennes建议的一种更简洁的书写方式是
(sleep 5; echo foo) &
另外,如果您需要几秒钟的时间,则可以使用at
。可以通过以下三种方式来命令at
:
用管道输送:
$ echo "ls > a.txt" | at now + 1 min
warning: commands will be executed using /bin/sh
job 3 at Thu Apr 4 20:16:00 2013
将要运行的命令保存在文本文件中,然后将该文件传递给at
:
$ echo "ls > a.txt" > cmd.txt
$ at now + 1 min < cmd.txt
warning: commands will be executed using /bin/sh
job 3 at Thu Apr 4 20:16:00 2013
您还可以at
从STDIN 传递命令:
$ at now + 1 min
warning: commands will be executed using /bin/sh
at> ls
然后,按CtrlD退出at
外壳。该ls
命令将在一分钟内运行。
您可以采用的格式给出非常精确的时间[[CC]YY]MMDDhhmm[.ss]
,例如
$ at -t 201412182134.12 < script.sh
该脚本将script.sh
在2014年12月18日的21:34和12秒处运行该脚本。因此,从理论上讲,您可以at
在未来的5秒内运行该脚本。但是,这有点像用坦克拍打苍蝇,海恩斯的建议更好。
$(sleep 5; echo foo) &
我不确定为什么我以为我需要一个$,但是由于我的语法错误,我只是发布了更长的(并且更容易理解的)版本。(command_for_in_new_shell)较短。
at
延迟几秒钟使用?
at 21:43
如果需要的话,请使用特定的时间(例如),或者做一些简单的事情,例如在4秒钟后sleep 4 && command
运行command
。
;
吗?