Приглашение командной оболочки bash (bash prompt) — это строка, которая отображается в терминале и ожидает ввода команды. По умолчанию приглашение выглядит довольно просто, но его можно настроить под свои нужды. В этой статье мы рассмотрим, как изменить приглашение bash с помощью переменных PS1
, PS2
, PS3
, PS4
и PROMPT_COMMAND
.
Основные переменные
В bash существует несколько переменных, которые отвечают за внешний вид приглашения:
PS1
— основное приглашение.PS2
— приглашение для продолжения ввода (например, при незаконченной команде).PS3
— приглашение для командselect
.PS4
— приглашение для отладки скриптов.
Изменение переменной PS1
Переменная PS1
отвечает за основное приглашение. Вот несколько примеров, как можно изменить эту переменную:
PS1="\u@\h:\w\$ "
Этот пример изменит приглашение на username@hostname:current_directory$
.
Пример 1: Добавление времени
PS1="\t \u@\h:\w\$ "
Этот пример добавит текущее время в 24-часовом формате перед стандартным приглашением.
Пример 2: Цветное приглашение
PS1="\[\e[32m\]\u@\h:\w\[\e[m\]\$ "
Этот пример изменит цвет текста приглашения на зеленый.
Пример 3: Отображение ветки Git
PS1='\u@\h:\w$(__git_ps1 " (%s)")\$ '
Этот пример добавит текущую ветку Git в приглашение. Для этого необходимо установить и настроить git-prompt.sh
.
Изменение переменной PS2
Переменная PS2
используется для приглашения продолжения ввода. По умолчанию она равна >
. Вот пример изменения этой переменной:
PS2="continue> "
Изменение переменной PS3
Переменная PS3
используется в командах select
. Вот пример:
PS3="Выберите опцию: "
Изменение переменной PS4
Переменная PS4
используется для отладки скриптов. Вот пример:
PS4="+ "
Использование PROMPT_COMMAND
Переменная PROMPT_COMMAND
позволяет выполнять команды перед отображением приглашения. Это может быть полезно для выполнения различных задач, таких как обновление информации в приглашении или выполнение других команд. Вот пример:
PROMPT_COMMAND='echo "Команда выполнена"'
Этот пример будет выводить сообщение “Команда выполнена” перед каждым приглашением.
Временное изменение приглашения
Если вам нужно временно изменить приглашение, вы можете сделать это с помощью команды export
. Например:
export PS1="temporary_prompt$ "
Это изменение будет действовать только в текущей сессии терминала. После закрытия терминала или открытия нового окна приглашение вернется к исходному виду.
Создание резервной копии файла .bashrc
Перед внесением изменений в файл .bashrc
, рекомендуется создать его резервную копию. Это можно сделать с помощью команды:
cp ~/.bashrc ~/.bashrc.bak
Эта команда создаст копию файла .bashrc
с именем .bashrc.bak
в домашней директории пользователя.
Сохранение изменений
Чтобы изменения вступили в силу при каждом запуске терминала, добавьте их в файл ~/.bashrc
:
echo 'PS1="\u@\h:\w\$ "' >> ~/.bashrc
После этого перезапустите терминал или выполните команду source ~/.bashrc
.
Заключение
Настройка приглашения bash позволяет сделать работу в терминале более удобной и информативной. Экспериментируйте с различными переменными и командами, чтобы найти оптимальный для себя вариант.