В unix-консоли, а в частности в приглашении bash
можно использовать ANSI-последовательности для задания цветового вывода:
Цвет задается последовательностью вида \e[ATTR;FG;BGm
, где ATTR - необязательный аттрибут, FG - цвет переднего плана, BG - цвет фона.
Сброс цвета к значению по умолчанию - \e[0m
Краткую таблицу соответствия кодов конкретным цветам опубликовал в статье "Prompt Magic" Дэниел Роббинс:
С помощью ATTR
можно делать текст полужирным, подчеркнутым, мигающим, и т.п.:
0 | по-умолчанию |
1 | жирный |
22 | не жирный |
4 | подчеркнутый |
24 | не подчеркнутый |
5 | мигающий |
25 | не мигающий |
7 | инвертированный |
27 | не инвертированный |
В качестве примера полезно посмотреть небольшой скрипт, выводящий на консоль таблицу возможных цветовых комбинаций:
#!/bin/sh ############################################################ # Nico Golde <nico(at)ngolde.de> Homepage: http://www.ngolde.de # Last change: Mon Feb 16 16:24:41 CET 2004 ############################################################ for attr in 0 1 4 5 7 ; do echo "----------------------------------------------------------------" printf "ESC[%s;Foreground;Background - \\n" $attr for fore in 30 31 32 33 34 35 36 37; do for back in 40 41 42 43 44 45 46 47; do printf '\\033[%s;%s;%sm %02s;%02s ' $attr $fore $back $fore $back done printf '\\n' done printf '\\033[0m' done
Ссылки по теме:
- Linux Tips: Prompt Magic, by Daniel Robbins
- Colorful Shells -- Using ANSI Color Codes, by Nico Golde