Метасимволами называются символы, имеющие специальное значение для интерпретатора.
В C-Shell имеются следующие метасимволы:
Многие из них сходны по функциям с аналогичными функциями метасимволов обычного Shell.
Синтаксические метасимволы:
; - разделяет команды, которые будут выполнены последовательно;
- - разделяет команды, соединенные каналом, так что стандартный вывод левой является стандартным вводом правой;
-& - аналогично -, однако диагностический вывод тоже направляется на ввод следующей команды;
( ) - объединяют команды, разделенные предыдущими знаками, в единое целое для использования в последовательности или с каналом;
& - предписывает выполнение команды на заднем плане параллельно со следующей командой, например:
cat letter>/dev/lp &
-- - аналогичен знаку -, однако правая команда выполняется, только если левая завершилась аварийно;
&& - аналогичен знаку -, однако правая выполняется, только если левая завершилась нормально.
Метасимволы именования файлов:
? - любой символ в имени файла. Например, файлы fa.o, fb.o, fc.o могут быть напечатаны одной командой:
$ cat f?.o > total.o
* - любая строка в имени файла. Например, удаление всех файлов, имена которых начинаются с old:
% rm old*
[] - любая одна буква из указанного в квадратных скобках диапазона. Например:
% ls f.[a - z] - печать всех файлов типа f.x, где x - буква из диапазона a - z;
{} - аналогичны квадратным скобкам >[], однако вместо диапазона указано множество букв. Например, печать файлов list, last, lost: