<Предыдущая | Содержание: | Следующая>
Анатомия подсказки
Наше приглашение по умолчанию выглядит примерно так:
[я @ linuxbox ~] $
[я @ linuxbox ~] $
Обратите внимание, что он содержит наше имя пользователя, имя хоста и текущий рабочий каталог, но как это получилось? Очень просто, оказывается. Приглашение определяется переменной среды с именем PS1 (сокращение от «первая строка подсказки»). Мы можем просмотреть содержимое PS1 с эхо команда:
[я @ linuxbox ~] $ эхо $PS1
[\ u @ \ h \ W] \ $
[я @ linuxbox ~] $ эхо $PS1
[\ u @ \ h \ W] \ $
Примечание. Не волнуйтесь, если ваши результаты не будут точно такими же, как в примере выше. Каждый дистрибутив Linux определяет строку приглашения немного по-своему, некоторые весьма экзотически.
По результатам мы видим, что PS1 содержит несколько символов, которые мы видим в приглашении, например скобки, знак at и знак доллара, но остальные остаются загадкой. Проницательные из нас распознают это как специальные символы, экранированные обратной косой чертой такое как
Анатомия подсказки
те, которых мы видели в главе 7. Вот неполный список персонажей, которых колотить обрабатывается особым образом в строке приглашения:
Таблица 13-1. Escape-коды, используемые в командной строке
Отображаемое значение последовательности
Отображаемое значение последовательности
\ ASCII-колокольчик. Это заставляет компьютер подавать звуковой сигнал при обнаружении.
\d Текущая дата в формате день, месяц, дата. Например, «Пн, 26 мая».
\h Имя хоста локального компьютера за вычетом конечного имени домена.
\H Полное имя хоста.
\j Количество заданий, запущенных в текущем сеансе оболочки.
\l Имя текущего терминального устройства.
\n Символ новой строки.
\ r Возврат каретки.
\s Имя программы оболочки.
\t Текущее время в 24-часовом формате часы:минуты:секунды.
\T Текущее время в 12-часовом формате.
\@ Текущее время в 12-часовом формате AM/PM.
\A Текущее время в формате 24 часа:часы:минуты.
\u имя текущего пользователя.
\v Номер версии оболочки.
\V Версия и номер выпуска оболочки.
\w Имя текущего рабочего каталога.
\W Последняя часть имени текущего рабочего каталога.
\! Номер истории текущей команды.
\# Количество команд, введенных во время этого сеанса оболочки.
\$ Здесь отображается символ «$», если у нас нет привилегий суперпользователя.
В этом случае вместо этого отображается «#».
\[ Сигнализирует о начале серии из одного или нескольких непечатаемых символов.
Это используется для встраивания непечатаемых управляющих символов, которые каким-либо образом манипулируют эмулятором терминала, например, перемещают
курсор или изменение цвета текста.
\] Сигнализирует об окончании последовательности непечатаемых символов.