18.02.2019

Раскраска консоли linux

Итак, функция "раскрашивания" реализована в самом терминале. Для вывода в цвете служит специальная строка вида:
ESC[{attr1};…;{attrn}m



где ESC, это эскейп-символ, вывести который можно "сказав" \033 или \e  (или x1b), а {attrn} атрибуты задающие свойства и цвет текста и бэкграунда. Для свойств теста эти значения от 0 до 9(?), для цвета от 30 до 37, и для цвета бекграунда от 40 до 47.
причем они могут комбинироваться, тогда нужно их перечислить через точку с запятой.

атрибуты
0 нормальный режим
1 жирный
4 подчеркнутый
5 мигающий
7 инвертированные цвета
8 невидимый
цвет текстацвет фонацвет
3040черный
3141красный
3242зеленый
3343желтый
3444синий
3545пурпурный
3646голубой
3747белый
Теперь несколько примеров. Все это можно опробовать, введя в консольном окне echo -e «текст примера».
ВводРезультат
echo -e "\033[31mTest\x1b[0m"Test
echo -e "\x1b[37;43mTest\x1b[0m"Test
echo -e "\x1b[4;35mTest\x1b[0m"Test
Обратите внимание, что после Test идет последовательность \x1b[0m, которая сбрасывает стиль оформления на стандартный.Если не сборсить то весь вывод будет выводится в том цвете который был установлен Комплексный пример использования:
\x1b[1;31mСтрока\x1b[0m с
\x1b[4;35;42mразными\x1b[0m\x1b[34;45mстилями\x1b[0m
\x1b[1;33m
оформления\x1b[0m
Строка с разными стилями оформления


Вывод цветной консоли в письмо:

Очень хотелось чтобы раскрашенные логи приходили на почту точно так же раскрашенные.
В этом поможет консольная утилита aha (https://github.com/theZiz/aha) которая конвертирует текстовые файлы в html

ставится из общего репозитария apt-get install aha:
 пример использования:
cat /tmp/lynis.txt | aha --black > /tmp/lynis.html
и отсылка на почту:
cat /tmp/lynis.html | /usr/bin/mail -s "$(echo "lynis@`uname -n`\nContent-Type: text/html")" mymail@localdomain.com.ua

Комментариев нет :

Отправить комментарий