Утилита echo — инструмент командной строки Linux, который предназначен для вывода текста в окно терминала. Одной из особенностей этой команды является то, что она позволяет форматировать текст. Для этого, например, можно использовать управляющие символы ANSI (англ. ANSI escape code).
В этой статье Вы узнаете, как форматировать вывод команды echo с помощью символов ANSI в Linux.
Содержание:
- Список управляющих символов ANSI
- Синтаксис команды echo с кодами ANSI
- Изменение цвета текста echo
- Изменение цвета фона текста
- Использование дополнительных атрибутов текста
- Комбинация символов ANSI
- Применение кодов ANSI к разным словам строки
- Выводы
Список управляющих символов ANSI
Символы ANSI представлены в виде кодов. С их помощью можно изменять цвет и фон текста, использовать жирный шрифт, курсив, подчеркивание и так далее. В Linux все символы ANSI начинаются с префикса \033[ (или \x1b[, или \e[), за которым следует определенная последовательность кодов, и заканчиваются символом m. Вот некоторые коды ANSI:
- Основные цвета текста:
- черный —
30; - красный —
31; - зеленый —
32; - желтый —
33; - синий —
34; - пурпурный —
35; - бирюзовый —
36; - белый —
37.
- черный —
- Светлые оттенки цвета, ярко-:
- черный (серый) —
90; - красный —
91; - зеленый —
92; - желтый —
93; - синий —
94; - пурпурный —
95; - бирюзовый —
96; - белый —
97.
- черный (серый) —
- Цвета фона:
- черный —
40; - красный —
41; - зеленый —
42; - желтый —
43; - синий —
44; - пурпурный —
45; - бирюзовый —
46; - белый —
47.
- черный —
- Светлые цвета фона, ярко-:
- черный —
100; - красный —
101; - зеленый —
102; - желтый —
103; - синий —
104; - пурпурный —
105; - бирюзовый —
106; - белый —
107.
- черный —
- Атрибуты текста:
- сброс всех атрибутов —
0; - жирный —
1; - тусклый —
2; - курсив —
3; - подчеркнутый —
4; - мигающий —
5; - инвертированные цвета фона и текста —
7; - скрытый —
8; - зачеркнутый —
9.
- сброс всех атрибутов —
Синтаксис команды echo с кодами ANSI
Чтобы отформатировать текст с помощью символов ANSI, следует использовать следующий синтаксис команды echo:
Где:
-e— указывает командеechoинтерпретировать экранирующие последовательности;<ANSI_escape_code>— код ANSI, задающий формат текста;<ANSI_reset_code>— код для сброса всех атрибутов (то есть,\033[0m).
Читайте также: В чем разница между printf и echo в Linux.
Изменение цвета текста echo
Допустим, нам нужно сделать текст красным. Для этого применим код \033[31m перед текстом и \033[0m после него:
Также выведем на экран одну строку с синим текстом и вторую с желтым. Чтобы это сделать, применим коды \033[34m и \033[33m, соответственно:
Мы можем использовать более яркие цвета текста. Например, светло-красный (\033[91m), светло-синий (\033[94m) и светло-желтый (\033[93m):
Изменение цвета фона текста
Кроме изменения цвета текста, можно изменять и цвет его фона. Следующие три команды отобразят строки в терминале на черном (\033[40m), пурпурном (\033[45m) и красном (\033[41m) фонах:
Читайте также: Как вывести в терминал Linux графику ASCII.
Использование дополнительных атрибутов текста
С помощью кодов ANSI можно применять разные стили текста. Для примера выведем в терминал строки с жирным (\033[1m) и курсивным (\033[3m) форматированием:
А также отобразим в командной строке подчеркнутый текст (\033[4m):
Комбинация символов ANSI
Мы можем одновременно использовать несколько символов ANSI для более сложного форматирования текста. Чтобы применить к строке более одного стиля, следует разделять коды ANSI точками с запятой. Например, отобразим в терминале подчеркнутый текст на синем фоне (\033[4;44m):
Важно: обратите внимание, что префикс \033[ используется только один раз в начале установки стилей текста, а символ m — один раз в конце.
Также выведем на экран курсивный жирный красный текст на белом фоне (\033[31;3;47m):
Читайте также: Введение в AWK: руководство для начинающих.
Применение кодов ANSI к разным словам строки
Кроме того можно сделать так, чтобы разные слова текста имели разное форматирование. Например, выведем на экран строку, в которой:
- первое слово — красное и жирное;
- второе — синее на белом фоне;
- третье — черное и подчеркнутое на красном фоне.
Важно: здесь мы использовали три отдельных форматирования текста, поэтому трижды применили код сброса атрибутов (\033[0m).
Также отобразим в терминале строку, в которой первое слово — синее, второе — желтое, а третье — жирное:
Выводы
Использование кодов ANSI с командой echo в Linux позволяет изменять цвета, стили и фоны текста прямо в терминале. Это удобный способ улучшить читаемость вывода при написании скриптов или взаимодействии с пользовательским интерфейсом.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.



























