Как сделать приглашение командной строки 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 — не инвертированный

.


Категории: Linux, Centos
Яндекс.Метрика