Unix Man (Справочное руководство)


CSH(1) - часть 10


>> name
>>& name
>>! name
>>&! name

Использует файл, задаваемый параметром name, в качестве стандартного вывода, как и в формах записей с символом >, но помещает вывод в конец этого файла. Если установлена переменная noclobber, то будет возникать ошибка, если при отсутствии в форме записи знака ! заданный файл не будет существовать. Во всем остальном эти формы записи аналогичны формам со знаком >.

Если выполняется неприсоединенная команда (с последующим знаком &), то стандартным вводом для этой команды по умолчанию будет пустой файл /dev/null. В противном случае, эта команда присутствует в конвейере и воспринимает среду, в которой был вызван интерпретатор shell, как уже измененную при помощи параметров ввода-вывода. Таким образом, как и для некоторых более ранних интерпретаторов shell, команды, выполняемые из файла команд интерпретатора shell, не имеют доступа к тексту команд по умолчанию; вместо этого они принимают первоначальный стандартный ввод интерпретатора shell. Механизм << должен быть использован для представления последовательных данных. Это позволяет командным сценариям интерпретатора shell функционировать в качестве составляющих конвейеров, а также разрешает интерпретатору shell блокировать чтение его ввода.

Диагностический вывод может быть направлен через программный канал со стандартным выводом. Просто следует использовать форму записи |& вместо |.

Выражения


Несколько встроенных команд (должны быть описаны позже) используют выражения, операторы в которых аналогичны применяемым в языке С, с тем же самым порядком старшинства. Такие выражения появляются в командах @, exit, if и while. Доступными являются следующие операторы:

&& | ^ & == != <= >= < > << >> + - * / % ! ~ ( )

Здесь порядок старшинства увеличивается слева направо, операторы == и !=, <=, >=, < и >, << и >>, + и -, * / и %, находясь в группах, имеют тот же уровень старшинства. Операторы == и != сравнивают свои аргументы в виде символьных строк, остальные операторы действуют на числах. Символьные строки, начинающиеся с 0, рассматриваются как восьмеричные числа. Нулевые или отсутствующие аргументы рассматриваются как 0. Результатом всех выражений являются строки, которые представляют собой десятичные числа. Важно отметить, что никакие две составляющие выражения не могут появляться в одном слове; исключение представляют смежные составляющие выражений, которые имеют синтаксическое значение для синтаксического анализатора (& | < > ( )), они должны быть окружены с двух сторон пробелами.

Кроме того, в выражениях доступными, как примитивные операнды, являются командные исполнения, заключенные в скобки вида { и }, а также файловые запросы вида -l name, где l имеет одно из значений:

r w x e o z f d
Доступ для чтения
Доступ для записи
Доступ для выполнения
Существование
Владение
Нулевой размер
Простой файл
Каталог
<


Начало  Назад  Вперед



Книжный магазин