\n не распознается как «строка изменения». Он просто печатает \n.
Мой терминал - это гном-терминал 3.6.2.
Сначала я заметил его с помощью эхо-команд, а затем с командами оболочки.
[d3 ] Какие-либо предложения относительно того, почему это не работает?Ответ Serg решает только проблему с печатью новой строки (echo, printf). Если вам нужно использовать новую строку вообще в сценариях оболочки, вот несколько советов, которые демонстрируют использование новой строки, сохраняя ее в переменной $NL. Когда код работает правильно echo "a${NL}b", затем печатает:
a
b
Вы можете использовать литерал новой строки:
NL="
"
Вы можете сгенерируйте новую строку, используя printf и подстановку команд:
NLx="$(printf \\nx)" ; NL="${NLx%x}"
Добавление x и последующее его удаление необходимо, потому что подстановка команд удаляет все строки новой строки в конце результирующей строки.
В Bash вы можете использовать escape-последовательности для представления управляющих символов в строке между $' и ':
NL=$'\n'
Это очень удобный, но, к сожалению, не портативный.