O script foi editado em algum momento em uma máquina Windows. Editores no Windows geralmente usam finais de linha do DOS. Eles possuem um retorno de carro extra ( \r
) em comparação com as terminações de linha do Unix. Estes confundem o kernel quando sudo
pede para executar o script.
Para corrigir o script, execute dos2unix
sobre ele.
Como alternativa, remova todos os \r
no script com
$ tr -d '\r' <index.sh >index.sh-new
$ # test index.sh-new to make sure it works
$ mv index.sh-new index.sh
Isso obviamente quebrará o script se ele depender do tratamento de retornos de carro literais de alguma forma.