
Escribí un shell llamadot.sh Su contenido es:
touch 88888
El comando que estoy usando es
sh t.sh | at 03:13Jun15
Después de ejecutar este comando, apareció este programa en mi pantalla:
warning: commands will be executed using /bin/sh
job 9 at Sun Jun 15 03:13:00 2014
Se muestra bastante claro que esto se ejecutará el domingo 15 de junio a las 03:13:00 de 2014.
Pero cuando reviso mi carpeta, encuentro que existe un archivo 88888 allí. Lo quité y probé de nuevo, sigue siendo el mismo resultado.
¿Cuáles son los problemas aquí? ¿Sería algo bash/sh? ¿Porque vi que dice que se ejecutará mediante /bin/sh?
Respuesta1
at
lee comandos de la entrada estándar o de un archivo si especifica la -f
bandera. Lo que sh t.sh | at [time]
hace es:
1. execute the shell script t.sh *right now*;
2. pipe the output of the shell script to at.
Pero el script no tiene salida, por lo que no hay nada que ejecutar el domingo.
Lo que quieres es at 03:13Jun15 -f t.sh
.