Более краткий способ написания того, что предложил Хеннес:
(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
в 21:34 и 12 секунд 18 декабря 2014 года. Таким образом, теоретически, вы можете использовать at
что-то для запуска через пять секунд в будущем. Однако, это похоже на использование танка, чтобы ударить муху, и предложение Хеннеса лучше.
;
?