Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборная ответов к госэкзаменам.doc
Скачиваний:
107
Добавлен:
02.09.2019
Размер:
7 Mб
Скачать

Специальные символы shell-операторов

Эти символы встречаются в синтаксисе операторов языка shell. Их следует рассматривать как зарезервированные. Отдельные символы могут использоваться по-разному. Например, символ # является комментарием в операторе, а также может быть параметром, как в записи $#, означающей количество аргументов в командной строке.

&& Двойной амперсанд: выполнить список, если программный конвейер отработал успешно

|| Двойная вертикальная черта: выполнить список в случае неудачи программного конвейера

` Знак ударения: перехватить стандартный вывод в команде

* При использовании в качестве параметра соответствует всем позиционным параметрам; является также символом генерации имен файлов, соответствующим любой строке

# Комментарий до конца строки; соответствует также количеству позиционных параметров в командной строке

? При использовании в качестве параметра соответствует статусу завершения последней синхронно выполненной команды; используется также при генерации имен файлов и означает при этом любой одинарный символ

- Обозначает флаги, влияющие на функционирование интерпретатора shell

$ Вводит заменяемые параметры; соответствует также идентификатору процесса

! При использовании в качестве параметра соответствует идентификатору процесса последнего фонового задания; применяется также в команде проверки, где означает "не"

" Двойная кавычка: окаймляет символы и разрешает производить подстановку параметров

' Одинарная кавычка: окаймляет символы, но запрещает подстановку параметров

\ Обратная наклонная черта: экранирует одиночный символ, чтобы снять его специальное значение

[] Альтернативное использование для вызова команды проверки. Применяется также при генерации имен файлов, означая при этом диапазон символов

@ Соответствует каждому позиционному параметру командной строки

>> Дополнить стандартный вывод

<< Переназначить стандартный ввод на вводимые строки текста

& Используется как символ фонового процесса; соответствует также "файловому дескриптору", если используется в переадресации

Специальные символы shell-переменных

Приведенные здесь символы рассматриваются shell-переменными как специальные, так как они означают завершение слова. Для того чтобы использовать символ в его обычном значении, а не в качестве специальной функции, нужно экранировать его обратной косой чертой (\) или взять в одинарные кавычки.

\b Пробел: код 20 (шестнадцатеричный), ограничитель слов

\n Символ новой строки: ^j, код A (шестнадцатеричный), ограничитель слов

\t Табуляция: ^i, код 9, ограничитель слов

; Точка с запятой: завершает программный конвейер

( Левая скобка: ограничивает подчиненный shell

) Правая скобка: ограничивает подчиненный shell

| Вертикальная черта, или символ программного конвейера: разделяет команды

^ Стрелка вверх, знак вставки: старый символ, используемый в качестве |

> Правая угловая скобка (знак больше): переназначает стандартный вывод

< Левая угловая скобка (знак меньше): переназначает стандартный ввод

& Амперсанд: вызывает асинхронное (фоновое) выполнение

{ Левая фигурная скобка: очерчивает слово для первоначального разбора слова

} Правая фигурная скобка: завершает знак очерчивания слова