Ошибки в shell скриптах из-за символа возврата каретки \r

Если вам хватило ума написать shell-скрипт под виндой, а потом скопипастить его в текстовый редактор Shell, не удивляйтесь, если он не будет работать и выдавать ошибки типа ‘/bin/bash^m: bad interpreter: no such file or directory’, то могу вас поздравить. Дальше будет описание причины и как это легко исправить.

Причина – разные управляющие символы в Windows и Linux. В первом есть ‘\r’ – возврат каретки, который Linux не понимает.

Для исправления shell-скрипта, который был так создан, нужно запустить такую команду:

sed -i 's/\r//g' /path/to/your/script.sh

После будет работать

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *