Você provavelmente tem um retorno de carro ( ^M
) no final da sua linha #!
.
O formato da linha #!
é muito rigoroso, e o retorno de carro não é permitido, a menos que seu interpretador seja chamado de /bin/bash^M
Nunca haverá retornos de carro em um arquivo criado com um editor unix adequado, a menos que você faça o possível para adicioná-los.
Ao editar um arquivo existente que já usa finais de linha CRLF, as retornos de carro podem estar ocultos de você. Por exemplo, o vim faz isso. Mas também diz [dos]
na linha de status para avisá-lo que o arquivo está no formato DOS. Você pode então dizer :set fileformat=unix
e salvar o arquivo para convertê-lo.