Featured image of post Решение проблемы с сообщением «/bin/bash^M: bad interpreter: Text file busy» при запуске sh скрипта

Решение проблемы с сообщением «/bin/bash^M: bad interpreter: Text file busy» при запуске sh скрипта

При запуске sh скрипта появляется сообщение «/bin/bash^M: bad interpreter: Text file bu…»

При запуске sh скрипта возникает сообщение «/bin/bash^M: bad interpreter: Text file busy». Эта проблема обычно возникает из-за различий в символах конца строки между операционными системами Windows и Unix/Linux.

Решение проблемы с сообщением «/bin/bash^M: bad interpreter: Text file busy» при запуске sh скрипта

В операционной системе Windows конец каждой строки обычно представляет собой последовательность символов “\r\n” (или CRLF), в то время как в Unix/Linux используется только символ “\n” (или LF). Поэтому, когда скрипт с символами конца строки Windows переносится на Unix/Linux, такая ошибка может возникнуть.

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

  1. Ubuntu/Debian Linux:
1
2
3
|  | sudo apt-get update |
| --- | --- |
|  | sudo apt-get install dos2unix |
  1. CentOS/RHEL Linux:
1
sudo yum install dos2unix
  1. Mac OS X:
1
brew install dos2unix

После установки вы можете выполнить следующую команду, чтобы преобразовать символы конца строки в скрипте в формат Unix:

1
dos2unix start.sh

Решение проблемы с сообщением «/bin/bash^M: bad interpreter: Text file busy» при запуске sh скрипта

Затем снова запустите скрипт ./start.sh, чтобы убедиться, что проблема решена.

Licensed under CC BY-NC-SA 4.0
Создано при помощи Hugo
Тема Stack, дизайн Jimmy