.sh файл .sh Ошибка командной строки bash [дубликат]

На этот вопрос уже есть ответ здесь:

Эта ошибка возникает 16.04, когда я пытаюсь запустить сценарий sh для установщика qb64.

james@ubuntu:~/qb64$ ./setup_lnx.sh 
bash: ./setup_lnx.sh: /bin/bash^M: bad interpreter: No such file or directory
james@ubuntu:~/qb64$
2
задан 15 December 2016 в 23:06

1 ответ

Ваш файл имеет окончания строки стиля DOS/Windows (CR LF) , но в подобных Unix системах только управляющий символ LF используется в качестве разрыва строки.

дополнительное управляющий символ CR показывают закодированный как ^M в Вашем выводе. Можно также видеть его, когда Вы работаете cat -A setup_lnx.sh.

Для преобразования окончаний строки от стиля DOS/Windows до стиля Unix существует инструмент, названный dos2unix. Вы устанавливаете его использование:

sudo apt-get install dos2unix

Затем можно просто преобразовать окончания строки файлов в обоих способах использовать

dos2unix FILENAME
unix2dos FILENAME

В случае, просто выполнить эту команду ниже, и файл сценария будет преобразован оперативный:

dos2unix setup_lnx.sh

После того, как тот Bash должен смочь интерпретировать файл правильно.

6
ответ дан 2 December 2019 в 01:43

Другие вопросы по тегам:

Похожие вопросы: