Una forma más concisa de escribir lo que Hennes sugirió es
(sleep 5; echo foo) &
Alternativamente, si necesita más de unos segundos, puede usar at
. Hay tres formas de dar un comando a at
:
Tubería:
$ 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
Guarde el comando que desea ejecutar en un archivo de texto y luego pase ese archivo a 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
También puede pasar at
comandos desde STDIN:
$ at now + 1 min
warning: commands will be executed using /bin/sh
at> ls
Luego, presione CtrlDpara salir del at
caparazón. El ls
comando se ejecutará en un minuto.
Puede dar tiempos muy precisos en el formato de [[CC]YY]MMDDhhmm[.ss]
, como en
$ at -t 201412182134.12 < script.sh
Esto ejecutará el script script.sh
a las 21:34 y 12 segundos el 18 de diciembre de 2014. Por lo tanto, en teoría, podría at
ejecutar algo cinco segundos en el futuro. Sin embargo, eso es como usar un tanque para aplastar una mosca, y la sugerencia de Hennes es mejor.
;
?