В Linux терминале (например, Bash) цвет текста и фона управляется с помощью ESC-последовательностей, основанных на ANSI escape codes.
Пример:
echo -e "\033[31mКрасный текст\033[0m"
Объяснение:
| Код | Цвет |
|---|---|
| 30 | Черный |
| 31 | Красный |
| 32 | Зелёный |
| 33 | Жёлтый |
| 34 | Синий |
| 35 | Фиолетовый |
| 36 | Голубой |
| 37 | Белый |
Чтобы получить яркий цвет, добавьте 1; перед кодом:
echo -e "\e[1;32mЯрко-зелёный\e[0m"
echo -e "\033[38;5;15;48;5;21m Белый текст на синем фоне \033[0m"
| Код | Цвет фона |
|---|---|
| 40 | Чёрный |
| 41 | Красный |
| 42 | Зелёный |
| 43 | Жёлтый |
| 44 | Синий |
| 45 | Фиолетовый |
| 46 | Голубой |
| 47 | Белый |
Пример:
echo -e "\033[1;4;31mЖирный подчёркнутый красный\033[0m"
| Код | Стиль |
|---|---|
| 0 | Сброс |
| 1 | Жирный |
| 4 | Подчёркнутый |
| 5 | Мигающий |
Сохрани как colors.sh:
#!/bin/bash echo "Таблица базовых цветов ANSI (текст и фон):" for style in 0 1; do echo -e "\n\033[${style}mСтиль: $style (0=обычный, 1=жирный)\033[0m" for fg in {30..37}; do for bg in {40..47}; do echo -en "\033[${style};${fg};${bg}m ${fg};${bg} \033[0m " done echo done done
\
Сохрани как colors-256.sh:
#!/bin/bash echo "Таблица 256 ANSI цветов (foreground):" for i in {0..255}; do printf "\033[38;5;%sm%3s\033[0m " "$i" "$i" if (( (i + 1) % 16 == 0 )); then echo fi done
\