Команда echo
сильно различается - некоторые реализации интерпретируют управляющие символы в своих аргументах, некоторые - нет, если вы не добавите параметр -e
... некоторые выводят «-e» как часть их вывода если вы попытаетесь использовать его в качестве опции. Если вы хотите получить предсказуемые результаты, когда делаете что-то нетривиальное, используйте вместо этого printf
(обратите внимание, что вы должны явно включить конечный перевод строки):
printf "This is test string\nAnd this is next line\n"
Я усвоил этот урок нелегким путем, когда OS X v10.5 вышла с версией bash со встроенным echo
, которая сломала кучу моих скриптов, которые прекрасно работали под v10.4 ...