ПРИЛОЖЕНИЕ C КРАТКОЕ ОПИСАНИЕ КОМАНДНОГО ЯЗЫКА SHELL ПРИЛОЖЕНИЕ C: КРАТКОЕ ОПИСАНИЕ КОМАНДНОГО ЯЗЫКА SHELL В данном приложении приводится краткое описание командного язы- ка shell и программных конструкций, рассмотренных в гл. 5 "По- собие по shell". В первой части дается обзор метасимволов, спе- циальных символов, переадресации ввода и вывода, переменных и процессов. Этот обзор делается по темам, в том порядке, в кото- ром они излагаются в главе. Вторая часть содержит модели прог- раммных конструкций shell'а. СЛОВАРЬ ЯЗЫКА КОМАНД SHELL Специальные символы в интерпретаторе shell *?[] Метасимволы; используются для сокращения имен файлов с помощью сопоставления символов. & Предписывает выполнять команду в фоновом режи- ме. ; Обозначает последовательное выполнение несколь- ких команд, вводимых в одной строке; каждая па- ра команд разделяется точкой с запятой. \ Отменяет специальный смысл символа, который следует непосредственно за данным знаком. '...' Одинарные кавычки (апострофы) отменяют специ альный смысл всех заключенных в них символов. "..." Двойные кавычки отменяют специальный смысл всех заключенных в них символов, за исключением $ и `. Переадресация ввода и вывода < Переназначает ввод на файл. > Переадресует вывод команды на новый файл или заменяет содержимое существующего файла на этот вывод. >> Переадресует вывод команды в файл таким обра- зом, что он добавляется в конец файла. | Направляет вывод одной команды таким образом, что он становится вводом для следующей команды. `команда` Заключение в обратные кавычки позволяет подс- тавлять вывод команды в качестве аргумента в командную строку. Выполнение и завершение процессов batch Передает перечисленные в ней команды на выпол- нение, когда система приступает к обслуживанию соответствующего уровня приоритета. Команда batch завершается <^d>. at Передает перечисленные в ней команды на выпол- нение в указанное время. Команда at завершается <^d>. |at -l Сообщает о заданиях, которые в текущий момент находятся в очереди команд at или batch. |at -r Удаляет задание из очереди команд at или batch. ps Выводит состояние процессов shell'а. kill PID Завершает процесс интерпретатора shell с ука занным идентификатором процесса (PID). |nohup список_команд & Продолжает выполнение фоновых процессов пользо- вателя и после его выхода из системы. Управление доступностью файла в shell'е |chmod u+x имя_файла Дает пользователю разрешение на выполнение фай- ла (полезна для файлов shell-программ). |mv имя_файла $HOME/bin/имя_файла Перемещает файл пользователя в каталог bin его основного каталога. Этот каталог bin содержи выполняемые shell-программы, которые пользова- тель хочет сделать доступными. Ему следует убе- диться, что переменная PATH в файле .profile имеет ссылку на этот каталог bin. Если это так, то shell будет выполнять поиск в каталоге $HO- ME/bin для файла, который пользователь попыта- ется выполнить. Если переменная PATH не включа- ет в себя каталог bin, shell не будет знать, где искать файл пользователя, и попытка выпол- нить этот файл окажется неудачной. имя_файла Имя файла, содержащего shell-программу, стано- вится командой, и пользователь может вводить данное имя для запуска этой shell-программы. Переменные позиционный параметр Переменная с номером используется в shell- программе для обращения к значениям, которые автоматически присваиваются интерпретатором shell в соответствии с аргументами командной строки, вызывающей shell-программу. echo Команда, используемая для вывода значения пере- менной на терминал пользователя. $# Специальный параметр, который содержит число аргументов, с которыми выполнялась shell-прог рамма. $* Специальный параметр, который содержит значения всех аргументов выполненной shell-программы. именованная переменная Переменная, для которой пользователь может за- давать имя и которой он может присваивать зна- чения. Переменные, используемые в системе HOME Обозначает основной каталог пользователя; пере менная, задаваемая по умолчанию для команды cd. PATH Определяет маршрут, которым следует shell при поиске команд. CDPATH Определяет маршрут поиска для команды cd. MAIL Задает имя файла, содержащего электронную почту пользователя. PS1 PS2 Определяют цепочки символов первичного и вто- ричного приглашения. TERM Определяет тип терминала. LOGNAME Входное имя пользователя. IFS Определяет разделители внутренних полей (обычно пробел, табуляция и возврат каретки). TERMINFO Позволяет пользователю требовать, чтобы подп- рограммы curses и terminfo осуществляли поиск в указанном дереве каталогов перед тем, как сд лать это в каталоге, задаваемом по умолчанию, в соответствии с типом терминала пользователя. TZ Устанавливает и поддерживает местный временной пояс. ПРОГРАММНЫЕ КОНСТРУКЦИИ SHELL'А Подстановка строк в команду | +------------------+ | | команда <