В unix-консоли, а в частности в приглашении bash
можно использовать ANSI-последовательности для задания цветового вывода:
PS1='[\\e[01;32m]\\[email protected]\\h[\e[00m]:[\\e[01;34m]\\w[\\e[00m]$ ';
export PS1
Цвет задается последовательностью вида \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
Ссылки по теме: