TGViewer
Записки IT специалиста Записки IT специалиста @interface31 · 8.99K subscribers
Post #6188 2.02K
Настраиваем цвета строки приглашения Bash

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

Чтобы повысить информативность строки приглашения можно изменить цвет строки приглашения, например, выделив root красным цветом или выделив имя локальной системы цветом отличным от удаленных.

За формат строки приглашения отвечает переменная окружения PS1 и по умолчанию она имеет значение:

PS1='\u@\h:\w\$ '


Где u – имя пользователя, h – имя хоста, w – текущий путь, а $ - символ приглашения.

В результате строка будет выглядеть так:

user@host:/home/user$


Для изменения внешнего вида нам доступны три параметра: формат символов, цвет текста и цвет фона.

Формат может принимать три значения:

▫️Нормальный текст – 0
▫️Жирный текст – 1
▫️Подчеркнутый текст – 4

Цвета текста / фона:

▫️Черный 30/40
▫️Красный 31/41
▫️Зеленый 32/42
▫️Желтый 33/43
▫️Голубой 34/44
▫️Фиолетовый 35/45
▫️Бирюзовый 36/46
▫️Белый 37/47

Для того чтобы задать цвет отдельных элементов применяется специальное форматирование, использующее символы \e в начале и m в конце.

Например, выделим имя пользователя и хост зеленым цветом, а путь сделаем синим, при этом двоеточие и символ приглашение раскрашивать не будем:

PS1='\[\e[01;32m\]\u@\h\[\e[m\]:\[\e[01;34m\]\w\[\e[m\]\$ '


Сам цвет задает конструкция:

\[\e[01;32m\] 


Формат текста задает 01, а его цвет – 32, т.е. жирный зеленый. Если мы хотим еще изменить фон, то добавляем туда еще одно значение:

\[\e[01;32;43m\] 


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

Конструкция

\[\e[m\]


Сбрасывает цвет и формат элементов на дефолтные.

Так, например, если мы уберем такую конструкцию перед двоеточием, то оно тоже окрасится в заданный перед этим цвет:

PS1='\[\e[01;32m\]\u@\h:\[\e[01;34m\]\w\[\e[m\]\$ '


Проверить что получилось можно сразу, введя указанную строку в консоль и нажав Enter. Таким образом можно тонко настроить цвета в соответствии со своими потребностями.

Если же вы люто накосячили, то не отчаивайтесь, введите

PS1='\u@\h:\w\$ '


И все снова станет как было. Либо просто выйдите из консоли.

Чтобы выбранное вами оформление автоматически применялось при входе в систему добавьте полученную строку в файл .bashrc выбранного пользователя.
  • 👍 11
  • 🔥 4
  • ❤ 2
  • 👌 1
More from @interface31
  1. Sep 27, 2026Ой, а что это случилось? Куда делась лицензия? Программные лицензии 1С - полное дно!!! На…
  2. Sep 27, 2026☝️ Не все умеют правильно пользоваться командами su и sudo. Команда su производит замену п…
  3. Sep 27, 2026Post #6797
  4. Sep 26, 2026Популярные мифы про Docker Встречался третьего дня с одним коллегой, у того серьезная голо…
  5. Sep 26, 2026Про РКН и MikroTik Новость эту не обсуждает только ленивый. Причем, как водится, многие пе…
  6. Sep 26, 2026Post #6794
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →