.sh arquivo CLI bash error [duplicate]

2

Este erro está acontecendo em 16.04 quando eu tento executar um script sh para o instalador qb64.

james@ubuntu:~/qb64$ ./setup_lnx.sh 
bash: ./setup_lnx.sh: /bin/bash^M: bad interpreter: No such file or directory
james@ubuntu:~/qb64$
    
por Artful Aardvark 15.12.2016 / 21:06

1 resposta

6

Seu arquivo tem terminações de linha estilo DOS / Windows (CR LF) , mas em sistemas Unix-like somente o caractere de controle LF é usado como quebra de linha.

O CR caractere de controle é mostrado codificado como ^M em sua saída. Você também pode vê-lo quando você executa cat -A setup_lnx.sh .

Para converter os finais de linha do estilo DOS / Windows para o estilo Unix, existe uma ferramenta chamada dos2unix . Você instala usando:

sudo apt-get install dos2unix

Então você pode simplesmente converter as terminações de linha dos arquivos de ambas as formas usando

dos2unix FILENAME
unix2dos FILENAME

No seu caso, basta executar este comando abaixo e o arquivo de script será convertido no local:

dos2unix setup_lnx.sh

Depois disso, o Bash poderá interpretar o arquivo corretamente.

    
por Byte Commander 15.12.2016 / 21:26