Читаем Командная строка Linux. Полное руководство полностью

Последовательность

Отображаемое значение

\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

Последняя часть в имени текущего рабочего каталога

\!

Номер текущей команды в истории

\#

Число команд, введенных в текущем сеансе командной оболочки

\$

Выводит символ $, если пользователь не является суперпользователем, в противном случае выводит символ #

\[

Отмечает начало последовательности из одного или нескольких непечатаемых символов. Используется для внедрения непечатаемых символов, управляющих поведением эмулятора терминала, например перемещает курсор или изменяет цвет текста

\]

Отмечает конец последовательности непечатаемых символов

<p>Альтернативные варианты оформления приглашения</p>

Имея список специальных символов, можно попробовать изменить оформление приглашения. Для начала сохраните исходное определение, чтобы его можно было восстановить позднее. Для этого скопируйте значение переменной PS1 в другую переменную:

[me@linuxbox ~]$ ps1_old="$PS1"

Здесь создается новая переменная с именем ps1_old, и ей присваивается значение переменной PS1. Убедиться, что значение скопировано, можно с помощью команды echo:

[me@linuxbox ~]$ echo $ps1_old

[\u@\h \W]\$

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

[me@linuxbox ~]$ PS1="$ps1_old"

Теперь, когда все готово, давайте посмотрим, что получится, если определить пустую строку приглашения:

[me@linuxbox ~]$ PS1=

Если определить приглашение как пустую строку, мы ничего не увидим. Строка приглашения просто исчезнет! В действительности она все еще существует, но поскольку она пустая, на экране ничего не отображается, — собственно, как мы и просили. Так как пустая строка приглашения дезориентирует, давайте определим минимальное оформление:

PS1="\$ "

Так лучше. По крайней мере, теперь видно, где мы находимся. Обратите внимание на завершающий пробел внутри кавычек. Он обеспечивает дополнительное пространство на экране между знаком доллара и курсором.

Добавим в строку приглашения сигнал:

$ PS1="\a\$ "

Теперь при каждом выводе строки приглашения вы должны слышать короткий звуковой сигнал. Постоянно звучащий сигнал может раздражать, но в некоторых случаях он может быть полезен, например если нужно получать звуковое оповещение об удачном завершении долго выполняющихся команд.

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

$ PS1="\A \h \$ "

17:33 linuxbox $

Добавление времени суток может пригодиться, если есть необходимость зафиксировать, в какой момент закончилось выполнение задачи. Наконец, сделайте приглашение похожим на оригинальное:

17:37 linuxbox $ PS1="<\u@\h \W>\$ "

$

Попробуйте использовать другие последовательности из табл. 13.1 и посмотрите, сможете ли вы получить свою уникальную строку приглашения к вводу.

<p>Добавление цвета</p>

Большинство программ эмуляторов терминалов реагируют на некоторые последовательности непечатаемых символов, например управляющие атрибутами символов (такими, как цвет, жирность и мигание) и позицией курсора. О позиции курсора мы поговорим чуть позже, а сейчас займемся цветом.

недоразумения с терминалами
Перейти на страницу:

Похожие книги

Компьютерные сети. 6-е изд.
Компьютерные сети. 6-е изд.

Перед вами шестое издание самой авторитетной книги по современным сетевым технологиям, написанное признанным экспертом Эндрю Таненбаумом в соавторстве со специалистом компании Google Дэвидом Уэзероллом и профессором Чикагского университета Ником Фимстером. Первая версия этого классического труда появилась на свет в далеком 1980 году, и с тех пор каждое издание книги неизменно становилось бестселлером. В книге последовательно изложены основные концепции, определяющие современное состояние компьютерных сетей и тенденции их развития. Авторы подробно объясняют устройство и принципы работы аппаратного и программного обеспечения, рассматривают все аспекты и уровни организации сетей — от физического до прикладного. Изложение теоретических принципов дополняется яркими, показательными примерами функционирования интернета и компьютерных сетей различного типа. Большое внимание уделяется сетевой безопасности. Шестое издание полностью переработано с учетом изменений, произошедших в сфере сетевых технологий за последние годы, и, в частности, освещает такие технологии, как DOCSIS, 4G и 5G, беспроводные сети стандарта 802.11ax, 100-гигабитные сети Ethernet, интернет вещей, современные транспортные протоколы CUBIC TCP, QUIC и BBR, программно-конфигурируемые сети и многое другое.

Дэвид Уэзеролл , Ник Фимстер , Эндрю Таненбаум

Учебные пособия, самоучители