Eu tentei usar at
de dentro de um script meu e ele imprime:
aviso: os comandos serão executados usando / bin / sh
Como eu usaria shell diferente se quisesse?
No Linux, at
sempre avisa que ele executará os comandos especificados com /bin/sh
, em vez do seu shell favorito. Você não pode suprimir esta mensagem, ela está codificada no código fonte.
O comando que você passa é interpretado por /bin/sh
. Este comando pode ser o caminho para um script, se você preferir; em seguida /bin/sh
, executará o programa de script, fazendo com que o intérprete do script seja iniciado e interprete o script. O idioma do script é completamente independente do programa que o inicia. Portanto, se, por exemplo, você deseja executar um script bash (ou seja, um script que começa com #!/bin/bash
), basta passar o caminho para o script at
e ignorar a mensagem irrelevante.
você pode executá-lo de um shell diferente alterando o script shebang . Algumas linhas 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 executar um script em determinados horários, sugiro que você adicione um cronjob
Exemplo:
A linha a seguir torna o programa do usuário test.pl - aparentemente um script Perl - executado a cada duas horas, à meia-noite, 2h, 4h, 6h, 8h, e assim por diante:
0 * / 2 * * * /home/username/test.pl
#!/usr/bin/perl
já é o shebang no meu script, mas eu recebo o aviso#!/bin/sh
....?