В Bash есть несколько способов отображения текста в консоли или терминале. Мы можем использовать команду echo или printf для печати текста. Каждая из этих команд имеет свое уникальное поведение.
В этой статье мы узнаем, как напечатать новую строку в Bash.
Прежде чем идти дальше, коротко о том, что такое новая строка. Обычно используется для указания конца строки и перехода к следующей строке. В системах UNIX/Linux это выражается символом «\n». Большинство текстовых редакторов не отображают его по умолчанию.
Есть несколько разных способов, которыми мы можем напечатать символ новой строки. Самый распространенный способ — использовать команду echo. Однако команда printf также работает нормально.
Использование символа обратной косой черты для новой строки «\n» является обычным способом. Однако также возможно обозначать новые строки с помощью знака «$».
Команда echo принимает строку в качестве входных данных и выводит ее на экран консоли. Чтобы напечатать любой текст, мы используем команду echo следующим образом:
Как упоминалось ранее, символ новой строки — «\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 The; echo Quick; echo Brown; echo Fox
Здесь:
Как и в случае с echo, команда printf также принимает строку и выводит ее на экран консоли. Его можно использовать как альтернативу команде echo.
Взгляните на следующий пример.
$ printf "The\nQuick\nBrown\nFox\n"
Как видите, printf по умолчанию обрабатывает символы обратной косой черты, никаких дополнительных флагов добавлять не нужно. Однако он не добавляет дополнительный символ новой строки в конце вывода, поэтому нам нужно добавить его вручную.
В этом руководстве мы успешно продемонстрировали, как печатать новые строки в Bash. Символ новой строки обозначается как «\n». Используя команды echo и printf, мы можем печатать строки с новыми строками в них. Мы также можем обманывать (ну, технически), запуская один и тот же инструмент несколько раз, чтобы получить желаемый результат.
Для получения более подробной информации об echo и printf обратитесь к соответствующим справочным страницам.