[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: O bash não executa mais sem que seja passado o caminho completo



On 2/1/06, Andrea Viana da Silva wrote:
> Tenho um scrip que faz cópia de alguns arquivos e coloquei ele no
> crontab. Lá pelas tantas faltou luz e o script não funcionou mais
> retornando a seguinte mensagem:
>
> bash: /bin/bkp: /bin/bash: bad interpreter: Permission denied

Geralmente esse erro acontece quando existe um erro na primeira linha
do script (a linha que indica qual interpretador usar). Geralmente tem
um final de linha do tipo <CR><LF> ao invés de <LF>. Entretanto, se o
script funcionava antes e ninguém mexeu nele, fica difícil aparecer
caracteres estranhos no arquivo...

De qualquer forma, sugiro apagar a primeira linha toda (inclusive a
marca de final de linha) e re-escrever "#!/bin/bash". Sem espaço entre
o '!' e o primeiro '/'.

> A máquina parou de executar qualquer script

Essa é uma afirmação muito forte. Se não executasse nenhum script,
provavelmente sua máquina nem ligaria.

> pesquisei no google e verifiquei que todas as permissoes, direitos,
> enfim tudo estava no padrão.
>
> Então resolvi passar o caminho do interpretador antes do script, e ele
> funcionou.
>
> # /bin/bash/bkp.sh

Não entendi essa parte. Se você quis dizer que digitando
"/bin/bash/bkp.sh" numa linha de comando, como root, o script roda
algo está muito errado porque "/bin/bash" deve ser um arquivo e não um
diretório. Se você quis dizer que colocou "# /bin/bash/bkp.sh" na
primeira linha do script, você removeu a indicação de qual
interpretador usar (isso é errado). Assim o cron deve estar usando o
interpretador padrão que por sorte deve estar configurado como sendo o
bash. Se foi isso, minha sugestão inicial deve resolver.

--
Bruno de Oliveira Schneider
http://www.dcc.ufla.br/~bruno/



Reply to: