Traté de usar at
desde un script mío y se imprime:
advertencia: los comandos se ejecutarán usando / bin / sh
¿Cómo usaría un shell diferente si quisiera?
En Linux, at
siempre le advierte que ejecutará los comandos especificados con /bin/sh
, en lugar de su shell favorito. No puede suprimir este mensaje, está codificado en el código fuente.
El comando que pasa es interpretado por /bin/sh
. Este comando puede ser la ruta a un script si lo desea; luego /bin/sh
ejecutará el programa de script, haciendo que se inicie el intérprete del script e interprete el script. El lenguaje del script es completamente independiente del programa que lo inicia. Entonces, si por ejemplo desea ejecutar un script bash (es decir, un script que comienza con #!/bin/bash
), simplemente pase la ruta al script at
e ignore el mensaje irrelevante.
puede lograr ejecutarlo desde un shell diferente cambiando el shebang del script . Algunas líneas típicas de shebang:
#!/bin/sh — Execute the file using sh, the Bourne shell, or a compatible shell #!/bin/csh -f — Execute the file using csh, the C shell, #!/usr/bin/perl -T — Execute using Perl with the option for taint checks #!/usr/bin/php — Execute the file using the PHP command line interpreter #!/usr/bin/python -O — Execute using Python with optimizations to code #!/usr/bin/ruby — Execute using Ruby
Para ejecutar un script en momentos determinados, le sugiero que agregue un cronjob
Ejemplo:
La siguiente línea hace que el programa de usuario test.pl, aparentemente un script de Perl, se ejecute cada dos horas, a medianoche, 2 a.m., 4 a.m., 6 a.m., 8 a.m., etc.
0 * / 2 * * * /home/username/test.pl
#!/usr/bin/perl
ya es el shebang en mi guión pero recibo la advertencia#!/bin/sh
...?