Как администратор, вы можете регулярно запускать команду echo в Bash при управлении системой Linux. Но может ли команда echo предложить что-то большее, чем просто печать текста?
В этом руководстве вы ближе познакомитесь с командой echo и узнаете некоторые из ее наиболее полезных практических примеров.
Готовы? Следите за обновлениями и пересмотрите свое представление о команде echo!
Предварительное условие
Это руководство включает практические демонстрации. Чтобы следовать за ними, вам потребуется только машина с Ubuntu. В этом руководстве используется Ubuntu 20.04, но также будут работать и другие дистрибутивы Linux.
Печать строк с помощью команды echo в оболочке Bash
Когда вы думаете о команде echo, первое, что приходит в голову, – это печать строковых значений в консоль. Да, команда echo возвращает строки непосредственно из команды или скрипта.
Но позже в этом руководстве вы увидите команду echo с другой стороны. А пока посмотрите, как эта команда выводит строки в консоль.
Синтаксис команды echo следующий, где:
- string – текст для печати.
- options – дополнительные аргументы, которые вы можете указать для изменения вывода.
Выполните нижеуказанную команду echo без добавления опций, чтобы вывести простой текст в консоль. Эта команда передает строку в качестве аргумента команде echo.

Подавление завершающих символов новой строки в строках
Команда echo по умолчанию добавляет символ новой строки в конце каждой строки. В результате, при печати нескольких строк, возможно, соединяя одну с другой, каждая строка печатается на новой строке.
Опция -n подавляет завершающие символы новой строки, указывая команде echo печатать несколько строк в одной строке. Эта опция может быть полезна, например, при печати индикаторов выполнения в консоль.
Выполните следующую команду, чтобы напечатать Прогресс: и 50%.
Ниже вы можете увидеть, как символы новой строки разделяют две строки.

Теперь выполните следующую команду, добавив опцию -n, чтобы напечатать строки Прогресс: и 50%.
Как видите ниже, обе строки теперь находятся в одной строке, так как вы использовали опцию -n для подавления символов новой строки.

Печать значений переменных
При написании сценария обычно временно сохраняется значение в переменной, которое можно распечатать с помощью команды echo. Эта функция может быть полезна при проверке значения переменной для отладки оболочки сценария.
Выполните следующие команды, чтобы установить значение переменной number равным 10 и распечатать (echo) значение в консоли.

Интерпретация последовательностей экранирования
Последовательность экранирования – это серия символов, представляющих специальный символ, и вы можете использовать опцию -e для интерпретации последовательностей экранирования.
Например, escape-последовательность \t представляет символ табуляции. Если вы используете опцию -e и выводите \t в консоль, \t будет интерпретироваться как символ табуляции, а не выводиться буквально.
Некоторые из наиболее распространенных escape-последовательностей следующие:
Escape Sequence | Function |
\b | backspace |
\t | tab |
\n | new line |
\\ | backslash |
\$ | dollar sign |
Выполните следующую команду, чтобы вывести Hello\tWorld в консоль.
Вы можете видеть, что команда echo вывела строку Hello\tWorld как есть.

Теперь выполните следующую команду, чтобы вывести Hello\tWorld, добавив опцию -e для интерпретации \t как символа табуляции между ними.
Обратите внимание на огромный разрыв между словами Hello и World.

Вставка строк в новую строку
Вывод длинной строки сразу делает ее сложной для чтения. К счастью, опция \n позволяет добавить символ новой строки посередине строки. Эта опция часто используется при выводе нескольких строк текста в консоль, что придает ясность самому тексту.
Выполните следующую команду, чтобы вывести строку Echo command bash\nAnother line, где опция \n разбивает строку на две строки.
Ниже вы можете видеть, что опция \n переносит строку Another line на новую строку.

Вставка вертикальных вкладок между строками
Вы видели, как escape-последовательность \t размещает горизонтальный символ табуляции между строками. А как насчет вертикальной табуляции? Опция \v позволяет разделять строки вертикальными вкладками, что идеально подходит для создания текстовых баннеров.
Эта опция часто используется при выводе нескольких столбцов текста в консоль, каждый столбец на новой строке с новым отступом в начале.
Запустите следующую команду, чтобы вывести текст “Echo command bash demo”, но с вертикальными вкладками (\v) между каждым словом.

Печать имен файлов на основе расширения
Если вы ищете способ найти файлы определенного типа, эта функция команды echo работает таким же образом. Команда echo поддерживает перечисление файлов в каталоге с определенным расширением с использованием символа подстановки (*).
1. Запустите следующую команду, чтобы вывести все файлы с расширением .txt в текущем каталоге.

2. Затем запустите следующую команду, чтобы вывести все файлы с расширением .deb в текущем каталоге.

3. Наконец, выполните следующую команду, чтобы вывести файлы с расширением .txt в каталоге ~/Downloads. Вы можете заменить ~/Downloads/ на фактический путь к вашему файлу.
Как видно ниже, команда echo поддерживает указание пути к каталогу, где расположены ваши файлы.

Запись вывода в файл
Когда ваша команда возвращает огромный вывод, его трудно прочитать на консоли. Запись вывода в файл – отличная идея. Но как это сделать? Помимо вывода текстов на консоль, команда echo также поддерживает напрямую запись вывода в файл.
Выполните следующую команду, которая не предоставляет вывод, поскольку вывод записывается (>) в файл с именем echo-bash.txt вместо этого.
Обратите внимание, что если файл echo-bash.txt уже существует, он будет перезаписан новым содержимым.
Теперь выполните следующую команду cat, чтобы просмотреть содержимое файла echo-bash.txt.
Как видно ниже, вывод команды echo записывается в файл echo-bash.txt.

Добавление вывода к существующим файлам
Как уже упоминалось, оператор > перезаписывает существующий файл новым содержимым. Но что, если вы хотите добавить вывод к существующему файлу, а не перезаписывать его?
Вместо одного оператора > используйте два >>. Эта функция помогает сохранить существующее содержимое и добавлять новые записи в конец файла.
Выполните следующую команду, чтобы добавить (>>) новые тексты (добавление текста) к существующему файлу echo-bash.txt.
Теперь выполните следующую команду cat, чтобы просмотреть содержимое файла echo-bash.txt.
Как видно ниже, вывод команды echo добавляется к файлу, не перезаписывая ничего.

Заключение
Команда echo в оболочке bash – это простой, но мощный инструмент, который можно использовать множеством способов. И в этом руководстве вы узнали, как максимально использовать потенциал команды echo с помощью некоторых из ее самых популярных опций.
Вывод текста на консоль больше не ограничивается простым “выводом текста”. Вы узнали, как записывать вывод в файл, добавлять выводы и изменять внешний вид каждого выведенного текста.
Почему бы вам не выбрать несколько способов использования команды echo и не написать их в ваши скрипты? Посмотрите, какие креативные идеи вы можете придумать!