Приглашение командной оболочки 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 позволяет сделать работу в терминале более удобной и информативной. Экспериментируйте с различными переменными и командами, чтобы найти оптимальный для себя вариант.