Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 12633|Ответ: 0

[linux] /bin/bash^M: bad interpreter: No such file or directory

[Скопировать ссылку]
Опубликовано 13.06.2020 22:40:35 | | | |
При выполнении скрипта shell возвращается следующая ошибка:

-bash: ./log_job.sh: /bin/bash^M: плохой интерпретатор: Такого файла или каталога нет
Причины ошибок:

.sh скрипт написан под системой Windows, поэтому могут быть невидимые символы; из вышеуказанного запроса ошибки очень вероятно, что файл скрипта находится в формате DOS, то есть конец каждой строки идентифицируется по \r\n, а его ASCII-код — 0x0D, 0x0A соответственно.

Ошибка, которая отображается при выполнении shell-скрипта, в основном связана с тем, что файл shell-скрипта находится в формате DOS, то есть конец каждой строки идентифицируется по \r\n, а конец UNIX-файла — по \n.

Особое примечание: ^M — это не ^ и буква M, образуемая клавишей shift + 6, это символ, его ASCII — 0x0D, его сгенерировать — сначала нажать CTRL+V, а затем Enter (или CTRL+M)


решение

Существует несколько способов проверить, находится ли скрипт в формате DOS или UNIX.

(1) Проверьте формат скрипта: cat -A имя файла По результатам отображения можно определить, что строка файла, заканчивающаяся в формате dos, равна ^M$, а строка файла, заканчивающаяся в формате unix, — $.



(2) Изменить формат скрипта: vi имя файла для открытия файла и выполнения:set ff=unixУстановите файл в Unix и выполните:wq, сохранено в формате UNIX.

  (3) Проверьте формат скрипта: cat -A имя файла По результату отображения можно определить, что строка файла, заканчивающаяся в формате dos, равна ^M$, а строка файла в формате unix — $.







Предыдущий:Учебник SSIS 1 Введение в услуги интеграции SQL Server
Следующий:Разделение и удаление логов Nginx
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com