Поиск по сайту:
Враг трусливо наступал (Из передовицы 1941 года.).

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

24.02.2022
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"

 

Читать  Как проверить среднюю нагрузку в Linux

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

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

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

$ echo -e $sentence

 

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

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

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

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

 

Здесь,

  • Данная строка не заключена в двойные кавычки.
  • Перед каждым символом новой строки «\n» мы используем знак «$».
  • Каждый символ новой строки «\n» заключен в одинарную кавычку.

 

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

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

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

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

 

Здесь:

  • Мы запускаем 4 эхо-команды.
  • Каждая команда отделяется точкой с запятой (;). Это разделитель по умолчанию в Bash.

 

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

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

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

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

 

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

Читать  Как найти длину массива в Bash

 

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

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Хотите точно знать, в какие из ваших игр можно будет…

Спасибо!

Теперь редакторы в курсе.