Управление подсказкой
Bash проверяет значение переменной массива PROMPT_COMMAND перед выводом каждой основной подсказки. Если какие-либо элементы в PROMPT_COMMAND установлены и не равны null, Bash выполняет каждое значение в числовом порядке, так как будто оно было введено в командной строке.
Кроме того, в следующей таблице описаны специальные символы, которые могут появляться в переменных подсказки PS0, PS1, PS2, и PS4:
\aСимвол звонка.
\dДата в формате «День недели Месяц Число» (например, «Вторник Май 26»).
\D{format}Формат формат передается в
strftime(3), и результат вставляется в строку подсказки; пустой формат приводит к представлению времени, специфичному для локали. Фигурные скобки обязательны.\eСимвол экранирования.
\hИмя хоста до первого символа «.».
\HИмя хоста.
\jКоличество задач, в настоящее время управляемых оболочкой.
\lИмя файла устройства терминала оболочки.
\nНовая строка.
\rВозврат каретки.
\sИмя оболочки, имя файла
$0(часть после последнего слэша).\tВремя в формате 24-часов ЧЧ:ММ:СС.
\TВремя в формате 12-часов ЧЧ:ММ:СС.
\@Время в формате 12-часов ЧЧ:ММ:СС am/pm.
\AВремя в формате 24-часов ЧЧ:ММ.
\uИмя пользователя текущего пользователя.
\vВерсия Bash (например, 2.00).
\VВыпуск Bash, версия + номер исправления (например, 2.00.0).
\wЗначение переменной оболочки
PWD($PWD), где$HOMEсокращено с использованием тильды (использует переменную$PROMPT_DIRTRIM).\WИмя файла
$PWD, где$HOMEсокращено с использованием тильды.\!Номер истории этой команды.
\#Номер команды этой команды.
\$Если эффективный идентификатор пользователя равен 0,
#, в противном случае$.\nnnСимвол, ASCII-код которого — восьмеричное значение nnn.
\\Обратная косая черта.
\[Начало последовательности непечатаемых символов. Это можно использовать для вставки управляющей последовательности терминала в подсказку.
\]Конец последовательности непечатаемых символов.
Номер команды и номер истории обычно различаются: номер истории команды — ее позиция в списке истории, который может включать команды, восстановленные из файла истории (см. Утилиты истории Bash), в то время как номер команды — ее позиция в последовательности команд, выполненных во время текущего сеанса оболочки.
После декодирования строки происходит ее расширение с помощью расширения параметров, подстановки команд, арифметического расширения и удаления кавычек, учитывая значение параметра оболочки promptvars (см. Встроенная команда Shopt). Это может иметь нежелательные побочные эффекты, если экранированные части строки появляются в подстановке команд или содержат символы, особые для расширения слов.
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html