У меня есть странная ситуация где некоторые мои сценарии оболочки то использование #!/bin/sh
как хижина иногда работают - другие времена, они приводят к следующему сообщению:
удар:./newshit.sh:/bin/sh^M: плохой интерпретатор: Никакой такой файл или каталог
Действительно ли там что-то просто, который я пропускаю?
Это ^M является мертвой дешевой распродажей - похоже, что сценарий имеет окончания строки Mac (Ctrl-M) вместо окончаний строки Unix (Ctrl-J).
Это не появится как литеральный ^M - на самом деле в зависимости от Вашего текстового редактора, который это нельзя было бы показать вообще.
Вы не говорите, какую операционную систему Вы имеете, таким образом, я не уверен, какие инструменты Вы имеете в своей системе, но могли Вы пытаться получить символ (не шестнадцатеричное число) дамп с:
od -tc newshit.sh
... и скажите нам, сопровождается ли/bin/sh \r, \n или \r\n?
Я ожидаю, что Вы будете видеть что-то как:
0000000 # ! / b i n / s h \r
Или если Вы работаете:
cat -e newshit.sh
... это отобразит символ возврата каретки, если это будет там.