Специальные символы
Некоторые символы в shell имеют специальное значение. Например, шаблонные символы «[]», «*», «?», символ доступа к значению переменной «$», символы перенаправления ввода и вывода «>» и «<», символ конвейера «|», пробел, используемый как разделитель. Иногда возникает необходимость отменить их специальное значение, например если мы хотим использовать один из этих символов в имени файла. В этом случае такое имя следует заключить в двойные кавычки. Двойные кавычки отменяют действие всех спецсимволов, кроме «$» и «!». Например, в результате выполнения команды
cp./f* /tmp
в каталог /tmp будут скопированы все файлы из текущего каталога, имена которых начинаются на f. А при выполнении команды
cp./”f*” /tmp
в каталог /tmp из текущего каталога будет скопирован файл с именем f*. Для отмены действия специального символа «$» строку символов необходимо заключить в одинарные кавычки. Например, пусть введена команда
var=’Hello world!’
Результатом работы команды
echo $var
будет строка «Hello world!». Результатом работы команды
echo ”$var”
также будет строка «Hello world!». А результатом работы команды
echo ‘$var’
будет строка «$var». Как уже упоминалось ранее, символ «\» ликвидирует специальное значение следующего непосредственно за ним символа. Например, в результате выполнения команды
echo \$var
на экран будет выведена строка «$var».
|