/bin/sh ^ M: плохой интерпретатор: нет такого файла или каталога - программирование

/bin/sh ^ M: плохой интерпретатор: нет такого файла или каталога

Когда я ввожу brew doctor (или любую команду brew) в свой терминал, я получаю это как ответ:

- bash:/usr/local/bin/brew:/bin/sh ^ M: плохой интерпретатор: нет такого файла или каталога

Я видел ответ ^M раньше, и я думаю, что он имеет отношение к файлам окончания строки dos. Есть ли способ исправить это?

4b9b3361

Ответ 1

Я не знаю, как возврат каретки попал в ваш файл brew, но вы можете удалить их с помощью dos2unix или путем прокладки его через tr -d '\r'.

Пример:

tr -d '\r'  < /usr/local/bin/brew   > myfixedbrew

После проверки вы можете использовать

mv myfixedbrew /usr/local/bin/brew && chmod a+x /usr/local/bin/brew 

чтобы заменить старый.

Ответ 2

Это сработало для меня:

  • Откройте файл /usr/local/bin/ brew с vi (vi /usr/local/bin/brew)
  • Пока на vi вызывается это commad (через esc или:) :set fileformat=unix
  • Закрыть файл на vi через :wq!

Теперь команда brew должна быть в порядке.

С уважением.