То, что ^ 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
... который будет отображать символ возврата каретки, если он там есть.