Авторизация



Использование кавычек

Оценить
(0 голоса)

К сожалению, другие программы также используют многие специальные символы, применяемые командным процессором - просто этих символов явно недостаточно. Если в среде оболочки используются специальные символы, перечисленные в таблице 12.2, они должны быть заключены в кавычки. Взятие в кавычки требуется в тех случаях, когда присваиваемое значение содержит какой-нибудь специальный символ, пробелы, символы табуляции или новой строки. Без кавычек эти специальные символы будут интерпретироваться как метасимволы командного процессора вместо того, чтобы передаваться в программы в качестве аргументов. Три метода применения кавычек в среде командного процессора Bourne описываются в таблице 12.2.

Использование кавычек

Не следует путать обратную кавычку с одиночной кавычкой. Обратная кавычка (back tick) находится на той же клавише клааиатуры, где и символ тильды (~). Символ одиночной кавычки находится на той же клавише клавиатуры, где и символ двойной кавычки (").

Из строки, заключенной между двумя обратными кавычками, считываются команды. Стандартный вывод этих команд может быть использован для установки переменной.

При наличии символа обратной кавычки никакая интерпретация в строке не производится до тех пор, пока данная строка не считается, исключение составляет символ обратного слэша (\), управляющий другими символами. Управляющие обратные кавычки разрешают замещение вложенных команд, как показано далее: font='grep font \'cat filelistV'

Символы обратного слэша внутри вложенной команды (\ 'cat filelist\') защищают символы обратных кавычек от немедленной интерпретации командным процессором. При наличии символа обратного слэша (\) символ обратной кавычки, стоящий непосредственно перед командой cat, не сопоставляется с первым символом кавычки перед командой grep. Две управляющие обратные кавычки будут интерпретироваться при втором прохождении, и команда будет выполнена правильно.

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

Разделители
Переменные командного процессора
export ВС
Встроенные команды
Условные выражения командного процессора

Добавить комментарий


Защитный код
Обновить