Ряд символов, как было описано выше, имеют для командного интерпретатора специальное значение - это метасимволы. Они описаны в табл. 23.
Метасимволы не входят в команды и обрабатываются в несколько проходов до начала выполнения реальных программ.
Таблица 23. Метасимволы командного интерпретатора
Метасимвол | Интерпретация |
> |
prog>file - переключить стандартный выходной поток в файл |
>> |
prog>>file - добавить стандартный выходной поток к файлу |
< |
prog<file - извлечь стандартный входной поток из файла |
| |
p1 | p2 - передать стандартный выходной поток p1 как стандартный входной поток p2 |
<<str |
"Документ здесь": стандартный входной поток задается в последующих строках до строки, состоящей только из символов str. По умолчанию в данных интерпретируются метасимволы \, $ и ``. Если необходимо предотвратить в данных интерпретацию всех метасимволов, необходимо экранировать строку str, предварив обратной косой или взяв в двойные или одиночные кавычки. |
* |
Задает в имени файла любую строку из нуля или более символов |
? |
Задает любой символ в имени файла |
[abc] |
Задает любой символ из [abc] в имени файла, при этом допускаются диапазоны, задаваемые при помощи дефиса -. Если первым символом после [ является !, с этой конструкцией сопоставляется любой символ, не входящий в квадратные скобки. |
; |
Разделитель команд: p1; p2 - выполнить p1, затем p2. |
&
Выполняет предшествующую команду в фоновом режиме | |
`...` |
Инициирует выполнение команд(ы) в ...; `...` заменяется на полученный в результате выполнения стандартный выходной поток |
(...) |
Инициирует выполнение команд(ы) ... в порожденном командном интерпретаторе |
$1,$2,...$9 |
Заменяются аргументами командного файла |
$var |
Значение переменной (ключевого параметра) var в сеансе |
${var} |
Значение var: исключает коллизии в случае конкатенации переменной с последующим текстом |
\ |
\c - использовать непосредственно символ c, \перевод строки- отбрасывается |
'...' |
Непосредственное использование того, что в кавычках |
"..." |
Непосредственное использование, но после того, как будут интерпретированы метасимволы $, `...` и \ |
# |
Начало комментария |
var=value |
Присваивает значение value переменной var |
p1&&p2
Выполнить p1; в случае успеха выполнить p2 | |
p1p2 |
Выполнить p1; в случае неудачи выполнить p2 |