Ошибки в 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

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


Комментариев нет »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment







MarkiMarta.ru. Записки отца-программиста" с 2009 г.
Категория информационной продукции 18+
Яндекс.Метрика