Как сделать приглашение командной строки Bash разноцветным.
10.03.2015
Иногда бывает довольно полезным изменить цвет приглашения командной строки, особенно когда работаешь с большим количеством соединений и есть возможность запутаться.
Нужно в файл .bash_profile, в домашнем каталоге пользователя, добавить переменную окружения PS1
Пример:
PS1='\[\e[1;32m\]\u@\h:\[\e[36m\]\w\[\e[33m\]\$ \[\e[m\]'
Рашифровка ASCII последовательности кодирующей цвет вывода bash
В структуре кодировки приглашения распознаются следующие последовательности:
- \[ — Начало последовательности непечатаемых символов (используется для включения в текст приглашения последовательности управляющих символов)
- \] — Конец последовательности непечатаемых символов
- \nnn — Непечатный символ, имеющий восьмеричный код nnn (к примеру esc)
- \a — Звуковой сигнал (ASCII-код 007)
- \e — escape (ASCII-код 033)
- \d — Дата в формате "День, месяц, число", например, Срд, Окт, 17.
- \h — Имя хоста (hostname) до первой точки
- \H — Полное имя хоста
- \t — Текущее время в 24-часовом формате: HH:MM:SS (часы:минуты:секунды)
- \T — Текущее время в 12-часовом формате: HH:MM:SS
- \@ — Текущее время в 12-часовом формате am/pm
- \u — Имя пользователя, запустившего оболочку
- \w — Полное имя текущего рабочего каталога (начиная с корня)
- \W — Текущий рабочий каталог (без указания пути)
- \$ — Символ #, если оболочка запущена суперпользователем, и символ $, если оболочка запущена обычным пользователем.
- \n — Новая строка (перевод строки)
- \s — Имя оболочки
- \# — Текущий номер команды
- \! — Порядковый номер данной команды в истории команд
- \\ — Обратный слэш (a backslash)
Последовательность вида \e[ATTR;FG;BGm задаёт цвет.
Где
- ATTR — необязательный аттрибут,
- FG — цвет переднего плана,
- BG — цвет фона.
Установка цвета на значение по умолчанию — \e[m
ATTR можно указать из списка:
- 0 — по-умолчанию
- 1 — жирный
- 22 — не жирный
- 4 — подчеркнутый
- 24 — не подчеркнутый
- 5 — мигающий
- 25 — не мигающий
- 7 — инвертированный
- 27 — не инвертированный
.