Unix Man (Справочное руководство)



SH(1) - часть 5


Интерпретатор shell получает по умолчанию следующие значения PATH, PS1, PS2 и IFS, в то время как совсем не устанавливаются интерпретатор shell параметры HOME и MAIL (хотя HOME устанавливается командой login(5)).

ИНТЕРПРЕТАЦИЯ ПУСТОГО СИМВОЛА


После подстановки параметра и команды, результаты подстановки просматриваются для определения символов внутренних разделителей полей (символы определены в параметре IFS) и разделяются на отдельные аргументы, если таковые символы найдены. Явные нулевые аргументы (" " или ' ') сохраняются. Неявные нулевые аргументы ( возникающие из параметров, которые не имеют значений) удаляются.

ГЕНЕРАЦИЯ ИМЕНИ ФАЙЛА


Вслед за подстановкой, каждая команда word просматривается для обнаружения символов *,?, и [. Если один из этих символов присутствует, то команда word рассматривается как шаблон (pattern). Команда word замещается именами файлов, отсортированными в алфавитном порядке, которые соответствуют шаблону. Если нет имени файла соответствующего шаблону, то команда word остается неизменной. Символ . в начале имени файла или непосредственно следующий за символом /, так же как сам символ /, должен быть точно указан. Символы и соответствующие им шаблоны:

* ? [...]
Соответствует любой строке, включая нулевую строку.
Соответствует любому одиночному символу

Соответствует любым символам из заданного набора. Пара символов разделенных - (тире) соответствует любому лексическому символу, содержащемуся между парой символов. Если первый символ, следующий за открывающейся квадратной скобкой "[" это символ "!", то это соответствует любому символу не включенному в скобки.

ЗАКЛЮЧЕНИЕ В КАВЫЧКИ (Quoting)


Cледующие символы имеют специальное назначение в интерпретаторе shell и вызывают завершение команды word (кроме случаев, когда эти символы заключены в кавычки):

; & ( ) | ^ < > символ новой строки, пробел, символ табуляции

Символ может быть заключен в кавычки (т.е.подготовлен для установки самого себя) предшествующим ему символом \. Комбинация пары символов \ и знак новой строки игнорируются. Все символы, заключенные между парой одинарных кавычек (' '), за исключением одинарной кавычки(апостроф), берутся в кавычки. Внутри двойных кавычек (" ") осуществляется подстановка параметра и команды и символ \ заключает в кавычки символы \,`," и $. Символ "$ *" эквивалентен "$1 $2...", тогда как символ "$@" эквивалентен "$1" "$2"....

ПОДСКАЗКА





Содержание  Назад  Вперед