ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как повторить новую строку в Bash

Bash Heredoc

В Bash есть несколько способов отображения текста в консоли или терминале. Мы можем использовать команду echo или printf для печати текста. Каждая из этих команд имеет свое уникальное поведение.

В этой статье мы узнаем, как напечатать новую строку в Bash.

 

Новая строка в Bash

Прежде чем идти дальше, коротко о том, что такое новая строка. Обычно используется для указания конца строки и перехода к следующей строке. В системах UNIX/Linux это выражается символом «\n». Большинство текстовых редакторов не отображают его по умолчанию.

 

Печать новой строки в Bash

Есть несколько разных способов, которыми мы можем напечатать символ новой строки. Самый распространенный способ — использовать команду echo. Однако команда printf также работает нормально.

Использование символа обратной косой черты для новой строки «\n» является обычным способом. Однако также возможно обозначать новые строки с помощью знака «$».

 

Печать новой строки с использованием Echo

Команда echo принимает строку в качестве входных данных и выводит ее на экран консоли. Чтобы напечатать любой текст, мы используем команду echo следующим образом:

$ echo “The Quick Brown Fox”

 

Как упоминалось ранее, символ новой строки — «\n», верно? Как насчет того, чтобы попытаться включить его непосредственно в эхо?

$ echo "The\nQuick\nBrown\nFox"

 

Что ж, все пошло не так, как ожидалось. Что случилось?

По умолчанию команда echo будет печатать предоставленную строку, символ за символом. Он не интерпретирует символы обратной косой черты. Однако мы можем исправить это, добавив флаг «-e». Это позволяет интерпретировать символы обратной косой черты. Давайте исправим команду и запустим ее снова:

$ echo -e "The\nQuick\nBrown\nFox"

 

Вуаля! Теперь он работает так, как ожидалось!

Этот метод также работает при использовании переменных Bash. Взгляните на следующий пример:

$ sentence="The\nQuick\nBrown\nFox"

$ echo -e $sentence

 

Печать новой строки с использованием $

Мы также можем использовать знак «$» с командой echo, чтобы указать символ новой строки. Этот способ немного сложнее предыдущего. Объяснение лучше всего сделать на примере.

Выполните следующую команду:

$ echo The$'\n'Quick$'\n'Brown$'\n'Fox

 

Здесь,

 

Печать новых строк с несколькими операторами Echo

При таком подходе мы будем запускать несколько команд echo вместо одной. По умолчанию echo печатает заданную строку и добавляет в конец символ новой строки. Запустив несколько операторов эха одновременно, мы воспользуемся этим преимуществом.

Давайте посмотрим на следующий пример.

$ echo The; echo Quick; echo Brown; echo Fox

 

Здесь:

 

Печать новой строки с помощью Printf

Как и в случае с echo, команда printf также принимает строку и выводит ее на экран консоли. Его можно использовать как альтернативу команде echo.

Взгляните на следующий пример.

$ printf "The\nQuick\nBrown\nFox\n"

 

Как видите, printf по умолчанию обрабатывает символы обратной косой черты, никаких дополнительных флагов добавлять не нужно. Однако он не добавляет дополнительный символ новой строки в конце вывода, поэтому нам нужно добавить его вручную.

 

Последние мысли

В этом руководстве мы успешно продемонстрировали, как печатать новые строки в Bash. Символ новой строки обозначается как «\n». Используя команды echo и printf, мы можем печатать строки с новыми строками в них. Мы также можем обманывать (ну, технически), запуская один и тот же инструмент несколько раз, чтобы получить желаемый результат.

Для получения более подробной информации об echo и printf обратитесь к соответствующим справочным страницам.

Exit mobile version