
quando quero atrasar a execução de um programa usando at
, me diz que
warning: commands will be executed using /bin/sh
Como alterar esse shell padrão, por bash
exemplo?
Responder1
Por favor, vejaessepergunta que foi postada no Unix & Linux Stack Exchange. A primeira frase diz:
No Linux, at sempre avisa que executará os comandos especificados com /bin/sh, em vez de seu shell favorito. Você não pode suprimir esta mensagem, ela está embutida no código-fonte.
Ele também sugere uma solução alternativa:
O comando que você passa é interpretado por /bin/sh. Este comando pode ser o caminho para um script, se desejar; então /bin/sh executará o programa de script, fazendo com que o interpretador do script seja iniciado e interprete o script. A linguagem 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 do script para at e ignorar a mensagem irrelevante.
Portanto, para executar seus comandos em bash
vez de sh
, você pode passar um script para at
. Contanto que o script tenha uma linha shebang, ele será executado por qualquer programa para o qual o shebang esteja apontando. Se você usar #!/bin/bash
, ele será executado por bash
.