Вот не поверите, но в последнее время устойчивая ассоциативная связка «Linux=консоль» все реже всплывает в моем подсознании. Помозговав, я пришел к выводу, что во многом это связано с тем что графические оболочки Линукс, а вслет за ними и программы с графическим интерфейсом, вырасли настолько что к командной строке я обращаюсь только в случае крайней необходимости. Но любовь к консоли неистребима . Особенно к красивой, фантастической консоли. Так же как разноцветные лего биониклы вызывают восторг у моего сына, так же и разноцветная консоль по прежнему радует меня. Поэтому, добрых советов по методикам раскраски консоли много никогда не бывает. Вот и сегодня нашел на Хабре полезное HOWTO как настроить цветовое оформление консольного вывода. Ниже, под катом, я его привожу полностью. Большое спасибо автору Flexoid.
Кратко о том, как сделать для своей консольной программы или скрипта цветной вывод текста, а также дополнить его другими элементами оформления. Собственно, назначить можно цвет текста, цвет фона под ним, сделать текст жирным, подчеркнутым, невидимым и даже мигающим.
Шаблон для использования в современных командных оболочках и языках программирования таков: \x1b[…m. Это ESCAPE-последовательность, где \x1b обозначает символ ESC (десятичный ASCII код 27), а вместо «…» подставляются значения из таблицы, приведенной ниже, причем они могут комбинироваться, тогда нужно их перечислить через точку с запятой.
атрибуты | |
0 | нормальный режим |
1 | жирный |
4 | подчеркнутый |
5 | мигающий |
7 | инвертированные цвета |
8 | невидимый |
цвет текста | |
30 | черный |
31 | красный |
32 | зеленый |
33 | желтый |
34 | синий |
35 | пурпурный |
36 | голубой |
37 | белый |
цвет фона | |
40 | черный |
41 | красный |
42 | зеленый |
43 | желтый |
44 | синий |
45 | пурпурный |
46 | голубой |
47 | белый |
Теперь несколько примеров. Все это можно опробовать, введя в консольном окне echo -e «текст примера».
Ввод | Результат |
\x1b[31mTest\x1b[0m | |
\x1b[37;43mTest\x1b[0m | |
\x1b[4;35mTest\x1b[0m |
Обратите внимание, что во всех трех случаях после слова Test идет последовательность \x1b[0m, которая просто сбрасывает стиль оформления на стандартный.
Комплексный пример использования:
\x1b[1;31mСтрока\x1b[0m с \x1b[4;35;42mразными\x1b[0m\x1b[34;45mстилями\x1b[0m \x1b[1;33mоформления\x1b[0m |
Хорошая раскраска вывода часто значительно облегчает восприятие информации. Так что пробуйте и экспериментируйте.
P.S. Также об этом и некотором другом можно прочитать в man console_codes.