Терминология, связанная с оболочками

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


Флаг Описание
blank Пробел - это один из символов класса пробелов, определенного в категории LC_CTYPE. В оболочке POSIX пробел - это символ табуляции или обычный пробел.
встроенная команда Команда, которую оболочка выполняет без поиска и без создания отдельного процесса.
команда Последовательность символов, заданная в соответствии с синтаксисом языка оболочки. Оболочка считывает каждую команду и выполняет требуемое действие либо непосредственно, либо путем запуска утилит.
комментарий Любое слово, начинающееся со знака #. Само слово и все следующие за ним символы до конца строки игнорируются.
идентификатор Последовательность букв, цифр и знаков подчеркивания из универсального набора символов, начинающаяся с буквы или знака подчеркивания. Идентификатор не должен начинаться с цифры. Идентификаторы применяются в качестве имен псевдонимов, функций и любых именованных параметров.
список Последовательность из одного или нескольких конвейеров, разделенных одним из следующих символов: точка с запятой (;), амперсанд (&), двойной амперсанд (&&) или двойная вертикальная черта (||). Список может оканчиваться на один из следующих символов: точка с запятой (;), амперсанд (&) или вертикальная черта с амперсантом (|&).
;
Задает последовательную обработку предшествующего конвейера. Оболочка поочередно выполняет каждую команду и ожидает завершения последней команды.
&
Задает асинхронную обработку предшествующего конвейера. Оболочка поочередно выполняет каждую команду, обрабатывая конвейер в фоновом режиме и не дожидаясь завершения.
|&
Задает асинхронную обработку предшествующего конвейера и устанавливает двусторонний конвейер с родительской оболочкой. Оболочка поочередно выполняет каждую команду, обрабатывая конвейер в фоновом режиме и не дожидаясь завершения. Родительская оболочка может считывать стандартный вывод и записывать в стандартный ввод созданной команды с помощью команд read -p и print -p. В каждый момент времени может быть активна только одна такая команда.
&&
Обрабатывает последующий список только в том случае, если предыдущий конвейер возвратил нулевое значение.
||
Обрабатывает последующий список только в том случае, если предыдущий конвейер возвратил ненулевое значение.
Точка с запятой (;), амперсанд (&) и вертикальная черта с амперсантом (|&) имеют более низкий приоритет, чем двойной амперсанд (&&) и двойная вертикальная черта (||). Приоритет символов ;, & и |& одинаковый. Приоритет символов && и || также одинаковый. Для отделения одной команды от другой в списке вместо точки с запятой можно указать один или несколько символов новой строки.
Прим.: Символ |& допустим только в оболочке Korn.
метасимвол Метасимвол - это специальный символ оболочки; если метасимвол указан без кавычек, то он считается концом слова. Существуют следующие метасимволы: конвейер (|), амперсанд (&), точка с запятой (;), знак меньше (<), знак больше (>), открывающая круглая скобка ((), закрывающая круглая скобка ()), знак доллара ($), обратная кавычка (`), обратная косая черта (\), одинарная кавычка ('), двойная кавычка ("), символ новой строки, пробел и символ табуляции. Все символы, заключенные между одинарными кавычками, рассматриваются как обычные, а не специальные символы. Метасимволы сохраняют свое специальное значение, если они не взяты в кавычки. (В оболочке C метасимволы называют также метасимволами компилятора.)
список назначения параметров Содержит одно или несколько слов в формате Идентификатор=Значение, в котором количество пробелов перед и после знака равенства (=) должно быть одинаковым. Иными словами, либо начальные и конечные пробелы вообще не указываются, либо их должно быть равное число.
Прим.: В оболочке C список присвоений параметров задается в формате setИдентификатор=Значение. Пробелы перед и после знака равенства (=) обязательны.
конвейер Последовательность из нескольких команд, разделенных вертикальной чертой (=). Каждая команда конвейера, за исключением, быть может, последней, запускается как отдельный процесс. Стандартный вывод предыдущей команды в конвейере становится стандартным вводом следующей. Если список заключен в круглые скобки, то он рассматривается как простая команда, выполняемая в отдельной подоболочке.

Если перед конвейером не указан зарезервированный символ ! , то состоянием выхода будет состояние выхода последней команды конвейера. В противном случае состоянием выхода будет логическое отрицание состояния выхода последней команды. Иными словами, если последняя команда возвратит ноль, то состоянием выхода будет 1, а если положительное значение, то - ноль.

Конвейер задается в следующем формате:

[!] command1 [ | command2 ...]
Прим.: В предыдущих версиях оболочки Bourne конвейер обозначался знаком ^.
переменная оболочки Имя или параметр, которому присваивается некоторое значение. Для присвоения значения переменной введите имя переменной, знак равенства (=) и значение. Имя переменной будет заменено на присвоенное ей значение, если перед именем переменной стоит знак доллара ($). Переменные особенно полезны при создании кратких обозначений длинных путей, например, $HOME для домашнего каталога. Предопределенной называется переменная, значение которой присваивается оболочкой. Пользовательской - переменная, значение которой присваивается пользователем.
простая команда Произвольная последовательность списков присвоений параметров и перенаправлений ввода и вывода. За ними могут следовать команды, слова и опции перенаправления. Последовательность должна заканчиваться символом ;, |, &, ||, &&, |& или символом новой строки. Имя команды передается как параметр 0 (согласно определению процедуры exec). Значение простой команды - это ее состояние выхода, равное нулю в случае нормального завершения обработки, и положительному значению в противном случае. Функция sigaction, sigvec или signal содержит список значений состояний сигнала выхода.
подоболочка Оболочка, запущенная как дочерний процесс начальной или текущей оболочки.
символ подстановки Другое название - символ шаблона. Оболочка присваивает символам подстановки некоторые значения. Наиболее часто используются символы подстановки ?, *, [set] и [!set]. Символы подстановки удобно применять при задании шаблона имен файлов.
слово Последовательность символов, не содержащая пробелов. Слова разделяются одним или несколькими метасимволами.