В контексте оболочки Bash переменные приглашения используются для настройки внешнего вида командной строки. Они позволяют отображать различную информацию, такую как текущий рабочий каталог, имя пользователя, имя хоста и т. д.
Вот несколько способов настройки и использования переменных подсказки в Bash:
-
Переменная PS1:
Переменная PS1 является основной переменной подсказки. Он определяет формат основной командной строки. Вы можете установить его в файле запуска оболочки, например ~/.bashrc или ~/.bash_profile. Например, чтобы в командной строке отображался текущий рабочий каталог и имя пользователя, вы можете установить PS1 следующим образом:export PS1='\u@\h:\w\$ ' -
Переменная PS2:
Переменная PS2 является вторичной переменной подсказки. Он определяет формат дополнительной командной строки, которая отображается, когда команда занимает несколько строк. Вы можете установить его аналогично PS1. -
Другие переменные подсказки.
Bash предоставляет дополнительные переменные подсказки, такие как PS3 и PS4, которые используются в определенных контекстах, таких как операторы выбора и отладка. Их можно настроить аналогично PS1 и PS2. -
Escape-последовательности ANSI:
Escape-последовательности ANSI — это специальные последовательности символов, которые можно использовать для добавления цветов и форматирования в приглашение. Например, вы можете изменить цвет подсказки или сделать ее жирным шрифтом. Вот пример, в котором в приглашении указывается зеленое имя пользователя и синий рабочий каталог:export PS1='\[\e[32m\]\u\[\e[0m\]@\[\e[34m\]\w\[\e[0m\]\$ ' -
Подстановка команд.
Вы можете использовать подстановку команд, чтобы включить вывод команды в приглашение. Например, чтобы отобразить текущую дату и время в командной строке, вы можете использовать следующую подстановку команд:export PS1='\u@\h [\$(date "+%Y-%m-%d %H:%M:%S")] \$ ' -
Динамическая настройка переменных подсказки.
Вы можете динамически настраивать переменные подсказки, определяя функции. Эти функции оцениваются каждый раз, когда отображается приглашение. Это позволяет вам включать в приглашение динамическую информацию. Например, вы можете создать функцию, отображающую количество файлов в текущем каталоге:function custom_prompt { PS1="$(ls -1 | wc -l) files in current directory \$ " } export PROMPT_COMMAND=custom_prompt