При запуске sh скрипта возникает сообщение «/bin/bash^M: bad interpreter: Text file busy». Эта проблема обычно возникает из-за различий в символах конца строки между операционными системами Windows и Unix/Linux.
В операционной системе Windows конец каждой строки обычно представляет собой последовательность символов “\r\n” (или CRLF), в то время как в Unix/Linux используется только символ “\n” (или LF). Поэтому, когда скрипт с символами конца строки Windows переносится на Unix/Linux, такая ошибка может возникнуть.
Для решения этой проблемы можно использовать команду dos2unix
, чтобы преобразовать символы конца строки в формат Unix. Вы можете установить и использовать инструмент dos2unix
, выполнив следующие команды в терминале:
- Ubuntu/Debian Linux:
|
|
- CentOS/RHEL Linux:
|
|
- Mac OS X:
|
|
После установки вы можете выполнить следующую команду, чтобы преобразовать символы конца строки в скрипте в формат Unix:
|
|
Затем снова запустите скрипт ./start.sh
, чтобы убедиться, что проблема решена.