Информативные приглашения в bash
Как это выглядит
В данной статье я расскажу как настроить такое приглашение в терминале:
Цвета
Шаблон приглашения хранится в переменной PS1 текущего окружения. Узнать ее текущее значение:
Настраиваем красное приглашение для рута. Добавляем в /root/.bashrc
Зеленое приглашение для остальных пользователей. Добавляем в ~/.bashrc
Перезапустить консоль либо сделать:
Для того, чтобы изменить цвета на свои, нужно менять цифры: 0, 1, 31, 33
Более подробно о настройке цветов здесь: http://habrahabr.ru/post/94647
Git в bash
Git умеет встраиваться в приглашение почти из коробки. Нужно вызвать функцию __git_ps1
, чтобы получить
информацию о текущем состоянии в скобках. Выглядит это примерно так (только в цветах):
Оборачиваем в цвета и получаем строку:
Теперь экранируем ее и вставляем в PS1 и получаем:
Также у __git_ps1
есть дополнительные опции, включение которых позволяет выводить дополнительную информацию.
Я оставил наиболее полезные из них:
- “*” dirty state
- ”%” untracked files
- ”+” добавленные, но не закомиченные файлы
Для включения этих опций нужно присвоить переменным значения до вычисления PS1.
Полный список опций https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh
Результат
Мой финальный код в ~/.bashrc
для PS1
выглядит так:
Я также убрал @\h
при работе на локальной машине