架构师_程序员_码农网

Имя пользователя Получить пароль
Регистрация

QQ登录

Всего один шаг, чтобы начать

Поиск
Просмотров:6359|Ответов: 0
打印 上一主题 下一主题

[linux]/bin/bash^M: плохой интерпретатор: нет такого файла или каталога

[копировать ссылку]
Поднимайте прямо к 跳转到指定楼层
владелец
发表于 2020-6-13 22:40:35|只看该作者回帖奖励|Реверсивныйпросмотр|Режим чтения
При выполнении сценария оболочки возвращается следующая ошибка:

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

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

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

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


Решение

Есть несколько способов проверить, является ли файл скрипта в формате dos или в формате unix.

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



(2) Измените формат скрипта: vi filename откроет файл, выполните :set ff=unix , чтобы установить файл в unix, а затем выполните :wq, чтобы сохранить его в формате unix.

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







Предыдущий: Самоучитель SSIS (I) SQL Server Integration Services Начало работы Введение
Следующая: Разделение и удаление логов Nginx
收藏转播分享Коллекции0 Реле
Coder.com, публикуется только в процессе практики, возникли технические трудности, не вводите в заблуждение других.
Вы должны войти в систему, прежде чем сможете отправлять сообщения назад Войти | Зарегистрироваться

Эта версия интегральных правил


DISCLAIMER: Все программное обеспечение, материалы по программированию или статьи, выпущенные сетью Code Farmer, предназначены только для изучения и исследования; вышеуказанное содержание не должно быть использовано в коммерческих или незаконных целях, в противном случае, за все последствия будет отвечать пользователь. Это сайт информации из сети, авторские права спор не имеет никакого отношения к этому сайту. Вы должны полностью удалить вышеуказанное содержимое с вашего компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купить регистрацию и получить лучше подлинного обслуживания. Если есть какие-либо нарушения, пожалуйста, свяжитесь с нами по электронной почте, чтобы разобраться с этим.

Почта To:help@itsvse.com

QQ| ( 鲁ICP备14021824号-2)|Sitemap

GMT+8, 2024-9-18 22:31

Быстрый ответНазад к началуНазад к списку