@ Текущее время в 12-часовом формате am/pm
u Имя пользователя, запустившего оболочку
w Полное имя текущего рабочего каталога (начиная с корня)
W Текущий рабочий каталог (без указания пути)
$ Символ #, если оболочка запущена суперпользователем, и символ $, если оболочка запущена обычным пользователем
nn Символ, имеющий восьмеричный код nnn
Новая строка (перевод строки)
s Имя оболочки
# Текущий номер команды
\ Обратный слэш (a backslash)
[ Начало последовательности не печатаемых символов (этот символ может быть использован для того, чтобы включить в текст подсказки последовательность управляющих символов терминала)
] Конец последовательности не печатаемых символов
! Порядковый номер данной команды в истории команд

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

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

Например, после выполнения команды (поскольку в строке имеется пробел, кавычки обязательны)

[root]# PS1='[u@h W]$'

в стандартном приглашении будет выводиться квадратная скобка, имя пользователя, символ @, имя компьютера, пробел, название текущего каталога (без указания пути), закрывающая квадратная скобка и символ $ (если в оболочке работает простой пользователь) или # (если оболочка запущена от имени пользователя root).

5.6.3 Переменная PATH

Еще одна очень важная переменная имеет имя PATH. Она задает перечень путей к каталогам, в которых bash осуществляет поиск файлов (в частности, файлов с командами) в тех случаях, когда полный путь к файлу не задан в командной строке. Отдельные каталоги в этом перечне разделяются двоеточиями. По умолчанию переменная PATH включает каталоги /usr/local/bin, /bin, /usr/bin, /usr/X11R6/bin, т. е. имеет вид:

/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:

Для того, чтобы добавить каталог в этот список, нужно выполнить следующую команду:

[root]# PATH=$PATH:new_path.

При осуществлении поиска оболочка просматривает каталоги именно в том порядке, как они перечислены в переменной PATH.

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

5.6.4 Переменная IFS

Эта переменная задает разделители полей (Internal Field Separator), которые используются при операции разделения слов при преобразованиях командной строки, выполняемых оболочкой перед тем, как запустить командную строку на исполнение. Значение этой переменной по умолчанию - '‹Пробел›‹Tab›‹Символ_новой_строки›'.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

3

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату