[me@linuxbox ~]$ echo $PS1
[\u@\h \W]\$
ПРИМЕЧАНИЕ
Не волнуйтесь, если вы увидите нечто отличающееся от примера, приведенного выше. Все дистрибутивы Linux определяют приглашение к вводу по-своему, а некоторые содержат весьма экзотические определения.
Мы видим, что PS1 содержит несколько символов, например: квадратные скобки, знак @ и знак доллара, но все остальное — сплошная абракадабра. Наиболее догадливые из вас сразу поймут, что символы, экранированные слешем, — специальные символы, как те, что мы видели в табл. 7.2. В табл. 13.1 приводится неполный список символов, которые командная оболочка интерпретирует специальным образом в строке приглашения.
Таблица 13.1. Экранированные последовательности, используемые в строке приглашения
Последовательность | Отображаемое значение |
\a | Звонок. Заставляет компьютер издавать звуковой сигнал |
\d | Текущая дата в формате: день недели месяц число; например, «Mon May 26» (Пн Май 26) |
\h | Имя хоста локальной машины минус имя домена |
\H | Полное имя хоста |
\j | Число заданий, действующих в текущем сеансе |
\l | Имя текущего устройства терминала |
\n | Символ перевода строки |
\r | Возврат каретки |
\s | Имя программы командной оболочки |
\t | Текущее время в 24-часовом формате |
\T | Текущее время в 12-часовом формате |
\@ | Текущее время в 12-часовом формате AM/PM |
\A | Текущее время в 24-часовом формате, часы:минуты |
\г | Имя пользователя |
\v | Номер версии командной оболочки |
\V | Номер версии и выпуска командной оболочки |
\w | Имя текущего рабочего каталога |
\W | Последняя часть в имени текущего рабочего каталога |
\! | Номер текущей команды в истории |
\# | Число команд, введенных в текущем сеансе командной оболочки |
\$ | Выводит символ $, если пользователь не является суперпользователем, в противном случае выводит символ # |
\[ | Отмечает начало последовательности из одного или нескольких непечатаемых символов. Используется для внедрения непечатаемых символов, управляющих поведением эмулятора терминала, например перемещает курсор или изменяет цвет текста |
\] | Отмечает конец последовательности непечатаемых символов |
Альтернативные варианты оформления приглашения
Имея список специальных символов, можно попробовать изменить оформление приглашения. Для начала сохраните исходное определение, чтобы его можно было восстановить позднее. Для этого скопируйте значение переменной PS1 в другую переменную:
[me@linuxbox ~]$ ps1_old="$PS1"
Здесь создается новая переменная с именем ps1_old, и ей присваивается значение переменной PS1. Убедиться, что значение скопировано, можно с помощью команды echo:
[me@linuxbox ~]$ echo $ps1_old
[\u@\h \W]\$
Это позволит вам в любой момент восстановить исходное оформление приглашения, выполнив обратную процедуру: