Подтвердить что ты не робот

Как вставить новую строку в оболочку Linux script?

Я хочу вставить новую строку между несколькими инструкциями эха. Я пробовал echo "hello\n", но он не работает. Он печатает \n. Я хочу получить нужный результат следующим образом:

Create the snapshots

Snapshot created
4b9b3361

Ответ 1

Самый простой способ вставить новую строку между операторами echo - это вставить echo без аргументов, например:

echo Create the snapshots
echo
echo Snapshot created

То есть echo без аргументов будет печатать пустую строку.

Еще одна альтернатива использованию одного оператора echo с флагом -e и встроенными символами новой строки \n:

echo -e "Create the snapshots\n\nSnapshot created"

Однако это не переносимо, поскольку флаг -e не работает последовательно во всех системах. Лучше, если вы действительно хотите это сделать, используйте printf:

printf "Create the snapshots\n\nSnapshot created\n"

Это работает более надежно во многих системах, хотя это не соответствует POSIX. Обратите внимание, что вы должны вручную добавить \n в конце, так как printf не добавляет новую строку автоматически, как это делает echo.

Ответ 2

Используйте этот оператор эха

 echo -e "Hai\nHello\nTesting\n"

Выходной сигнал

Hai
Hello
Testing

Ответ 3

echo $'Create the snapshots\nSnapshot created\n'

Ответ 4

Вы можете использовать команду printf (1), например. как

printf "Hello times %d\nHere\n" $[2+3] 

Команда printf может принимать аргументы и нужна строка управления форматом, аналогичная (но не точно такая же), что и для стандартного C printf (3 )...