Командная строка Linux. Полное руководство (Шоттс) - страница 99

[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]\$

Это позволит вам в любой момент восстановить исходное оформление приглашения, выполнив обратную процедуру: