Как изменять стили вывода команды echo в Linux

Как изменять стили вывода команды echo в Linux

Рубрики:

Linux, Утилиты Linux

Метки:

echo

Утилита echo — инструмент командной строки Linux, который предназначен для вывода текста в окно терминала. Одной из особенностей этой команды является то, что она позволяет форматировать текст. Для этого, например, можно использовать управляющие символы ANSI (англ. ANSI escape code).

В этой статье Вы узнаете, как форматировать вывод команды echo с помощью символов ANSI в Linux.

Содержание:

  1. Список управляющих символов ANSI
  2. Синтаксис команды echo с кодами ANSI
  3. Изменение цвета текста echo
  4. Изменение цвета фона текста
  5. Использование дополнительных атрибутов текста
  6. Комбинация символов ANSI
  7. Применение кодов ANSI к разным словам строки
  8. Выводы

Список управляющих символов ANSI

Символы ANSI представлены в виде кодов. С их помощью можно изменять цвет и фон текста, использовать жирный шрифт, курсив, подчеркивание и так далее. В Linux все символы ANSI начинаются с префикса \033[ (или \x1b[, или \e[), за которым следует определенная последовательность кодов, и заканчиваются символом m. Вот некоторые коды ANSI:

  1. Основные цвета текста:
    • черный —  30;
    • красный —  31;
    • зеленый — 32;
    • желтый — 33;
    • синий — 34;
    • пурпурный — 35;
    • бирюзовый — 36;
    • белый — 37.
  2. Светлые оттенки цвета, ярко-:
    • черный (серый) — 90;
    • красный — 91;
    • зеленый — 92;
    • желтый — 93;
    • синий — 94;
    • пурпурный — 95;
    • бирюзовый — 96;
    • белый — 97.
  3. Цвета фона:
    • черный — 40;
    • красный — 41;
    • зеленый — 42;
    • желтый — 43;
    • синий — 44;
    • пурпурный — 45;
    • бирюзовый — 46;
    • белый — 47.
  4. Светлые цвета фона, ярко-:
    • черный — 100;
    • красный — 101;
    • зеленый — 102;
    • желтый — 103;
    • синий — 104;
    • пурпурный — 105;
    • бирюзовый — 106;
    • белый — 107.
  5. Атрибуты текста:
    • сброс всех атрибутов — 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, соответственно:

 

simple colors

Мы можем использовать более яркие цвета текста. Например, светло-красный (\033[91m), светло-синий (\033[94m) и светло-желтый (\033[93m):

 

bright colors

Изменение цвета фона текста

Кроме изменения цвета текста, можно изменять и цвет его фона. Следующие три команды отобразят строки в терминале на черном (\033[40m), пурпурном (\033[45m) и красном (\033[41m) фонах:

 

background

Читайте также: Как вывести в терминал Linux графику ASCII.

Использование дополнительных атрибутов текста

С помощью кодов ANSI можно применять разные стили текста. Для примера выведем в терминал строки с жирным (\033[1m) и курсивным (\033[3m) форматированием:

 

А также отобразим в командной строке подчеркнутый текст (\033[4m):

 

text attributes

Комбинация символов ANSI

Мы можем одновременно использовать несколько символов ANSI для более сложного форматирования текста. Чтобы применить к строке более одного стиля, следует разделять коды ANSI точками с запятой. Например, отобразим в терминале подчеркнутый текст на синем фоне (\033[4;44m):

 

Важно: обратите внимание, что префикс \033[ используется только один раз в начале установки стилей текста, а символ mодин раз в конце.

Также выведем на экран курсивный жирный красный текст на белом фоне (\033[31;3;47m):

 

combination

Читайте также: Введение в AWK: руководство для начинающих.

Применение кодов ANSI к разным словам строки

Кроме того можно сделать так, чтобы разные слова текста имели разное форматирование. Например, выведем на экран строку, в которой:

  • первое слово — красное и жирное;
  • второе — синее на белом фоне;
  • третье — черное и подчеркнутое на красном фоне.

 

Важно: здесь мы использовали три отдельных форматирования текста, поэтому трижды применили код сброса атрибутов (\033[0m).

Также отобразим в терминале строку, в которой первое слово — синее, второе — желтое, а третье — жирное:

 

several ansi codes in one sentence

Выводы

Использование кодов ANSI с командой echo в Linux позволяет изменять цвета, стили и фоны текста прямо в терминале. Это удобный способ улучшить читаемость вывода при написании скриптов или взаимодействии с пользовательским интерфейсом.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Утилиты Linux

Метки:

echo

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики