Convertendo arquivos do Windows para Linux
[ad#texto]
É comum que desenvolvedores escrevam arquivos Bash em ambiente Windows e depois enviem estes arquivos para que o mesmo seja executado no servidor, que geralmente é Linux, então eles se deparam com a seguinte mensagem de erro:
/bin/bash^M: bad interpreter: Arquivo ou diretório não encontrado
Isso ocorre porque em um ambiente Windows os caracteres de controle de um arquivo texto para quebra de linha e retorno de carro são diferentes dos utilizados pelo Linux e mesmo que o editor de texto não os exiba é certo que eles estarão lá.
A melhor saída então é converter o arquivo para o “padrão Linux”, para isso o mais indicado é utilizar o dos2unix, porém muitos poderão não ter esta ferramenta a disposição, então devemos então recorrer ao SED:
sed -i 's/\r//' seu_arquivo
Problema resolvido!