Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ОС.doc
Скачиваний:
17
Добавлен:
05.11.2018
Размер:
2.06 Mб
Скачать

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

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

\b

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

\n

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

\t

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

;

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

(

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

)

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

|

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

^

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

>

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

<

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

&

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

{

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

}

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

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

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

&&

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

||

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

`

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

*

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

#

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

?

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

-

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

$

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

!

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

"

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

'

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

\

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

[]

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

@

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

>>

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

<<

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

&

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