Специальные символы

Некоторые символы в 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».


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: