Порой, много времени провожу перед монитором, залипая в монохромную строчку, в один прекрасный момент мне надоело и я решил добавить краски в жизнь строки :)

И как обычно, по привычки полез в сеть, черпать знаний, но, что-то все не клеилось, вроде и строчка цветная, но и попутно тарабарщина пришла, лишний раз убедился, что самому проще вникнуть, чем искать и исправлять чужие ошибки кода.

Временные применение настроек

Первым делом, и наверное самым важным делом будет, проводить эксперименты над Bash не на прямую, а временно применять настройки, пока не найдете свой Дзынь :D Ну, а дальше уже можно и записать на постоянной основе.

Идем по порядку, дабы временно подгрузить изменения строки используем команду export PS1=»набор кракозябликов». К примеру, превратим нашу строку в  безвкусную и скучную #:

vaonvel@pp.ua ~ $ export PS1='#'

После применения этой команды, увидим следующее:

 #

Все исчезло и как я говорил ранее, строка стара жутко скучной, холодной и вовсе не информативной.

З.Ы.: Если выйти с терминала и заново войти, все вернется на свои места.

Так от, оживим ее командой:

 # export PS1="\u@\h:\w$"

Результат будет выглядеть, как:

vaonvel@pp.ua:~$

Уже лучше, но мне маловато будет 8)
Чтобы лучше понимать, что тут происходит и вообще, что за дикость экспортируется в Bash, приведу табличку значений ключей.

Параметры приглашения
Обозначение  Описание
\a ASCII-символ bell (07)
\d Дата в формате «День недели Месяц Дата» (например, «Пн Ноя 26»)
\D{format} Значение format передается функции strftime. В строку приглашения подставляется результат выполнения функции. Фигурные скобки обязательны.
\e ASCII-символ escape (033)
\h Hostname (имя хоста) до первого символа точка «.».
\H Hostname (имя хоста, компьютера).
\j Количество фоновых процессов, запущенных в данной оболочке
\l Базовое название оболочки.
\n Переход на новую строку.
\r Переход к началу строки (возврат каретки).
\s Имя оболочки (имя shell).
\t Текущее время в 24-часовом формате (HH:MM:SS).
\T Текущее время в 12-часовом формате (HH:MM:SS).
\@ Текущее время в 12-часовом am/pm формате.
\A Текущее время в 24-часовом формате (HH:MM).
\u Имя пользователя.
\v Версия bash (например, 4.4).
\V Версия bash с версией релиза (например, 4.4.19).
\w Текущий абсолютный путь (полный путь). Домашняя директория сокращается до значка тильды «~».
\W Текущий относительный путь. Домашняя директория сокращается до значка тильды «~».
\! Номер команды в истории команд (history).
\# Номер команды в текущей сессии терминала.
\$ Символ приглашения (# для root, $ для обычных пользователей).
\nnn Символ, соответствующий восьмеричному значению nnn.
\\ Символ обратной косой черты «\».
\[ Начало последовательности непечатаемых символов.
\] Конец последовательности.

Ну, когда с параметрами все ясно, по крайней мере, так хочется думать )) Пора уже и красок добавить.

Как изменить цвета в строке приглашения

Дабы добавить красок в унылую строку, используем следующее

export PS1="\[\033[01;32m\]\u\[\033[00m\]\[\033[00;33m\]@\[\033[00m\]\[\033[1;32m\]\h:\[\033[00m\]\[\033[01;34m\]\W\[\033[00m\]\[\033[00;33m\]\$\[\033[00m\]"

Сколько всего и зараз :o
Сейчас все разъясню :)

И так, пошли по порядку, символы:

  • «\[\033[» — отвечают за начало блока цвета;
  • «1;32» — определяют текст и цвет X и Y, где X=1, а Y=32, есть еще и третий параметр, отвечает за фоновый цвет, возможные значения приведены в таблице ниже;
  • «\]» — означает закрытие блока параметров;
  • «\u» — выводит имя пользователя;
  • «\[\033[00m\]» — закрывает блок цвета;

Результатом работы команды будет:

vaonvel@pp.ua:~$

 

Параметры цветов текста Y
Цвет текста Числовое
обозначение
Black 30
Red 31
Green 32
Brown 33
Blue 34
Purple 35
Cyan 36
Light gray 37
Параметры фонового цвета
Цвет фона Числовое
обозначение
Dark gray 90
Light red 91
Light green 92
Light yellow 93
Light blue 94
Light magenta 95
Light cyan 96
White 97
Параметры текста X
Числовое
обозначение
Человеческое понимание :)
0 Обычный цвет
1 Использовать более яркий цвет
2 Использовать более темный цвет
3 Текст курсивом
4 Текст подчеркнутый
5 Решил не переводить — Blink on
7 Reverse video on
8 Concealed on

И так, с параметрами на игрались, определились, что нам по душе, теперь же приступим к тому, дабы оставить все на постоянной основе.

Как изменить приглашение на постоянной основе

Для этого нам необходимо отредактировать настройки BASH, которые хранятся в корневом каталоге пользователя в файлике «.bashrc«, я использую редактор «nano», вбиваем команду:

vaonvel@pp.ua:~$ nano ~/.bashrc

Ищем нашу строку — «ctrl» + «w», откроет строку поиска, пишем PS1, меняем значения на свое, «ctrl» + «o», сохраняем, «ctrl» + «x», выходим из редактора «nano», применяем наши изменения командой:

vaonvel@pp.ua:~$ source ~/.bashrc

Перезапускаем консоль и радуемся нашим радужными днями работы с консолью :!: