Следующая:Execution File Format, Следующая:, Предыдущая:UUCP Lock Files, Вверх:Protocols



Execution File Format

Формат исполняемого файла

Файлы UUCP X.* управляет исполнением программ. Данные файлы создаются программой uux. Файлы передаются между системами точно так же как и любые другие файлы. Демон uuxqt читает данные файлы, чтобы понять, как выполнить задачу, запрошенную программой uux.

Файл X.* это текстовый файл. Первый символ каждой строки содержит команду, а остаток строки задает аргументы команды. Определены следующие команды:

C command
Задает команду на выполнение, включая программу и все параметры. Например, rmail ian@airs.com.
U user system
Данная команда называет пользователя, который запросил команду, и систему, от которой прибыл запрос.
I standard-input
Данная команда задает файл, из которого берется стандартный ввод. Если стандартный входной файл не задается, то стандартный ввод подключается к /dev/null. Если стандартный входной файл находится не на той системе, на которой происходит выполнение задачи, то данный файл также появляется в F команде.
O standard-output [system]
Данная команда задает стандартный выходной файл. Этот дополнительный второй параметр задает систему, на которую должен быть отослан файл. Если второй параметр отсутствует, то файл следует создавать на системе исполнения.
F required-file [filename-to-use]
Команда F может появляться несколько раз. Каждая команда F задает файл, который должен существовать прежде, чем может начаться исполнение программы. Обычно это файл, который передается от системы, на которой исполняется uux, но может быть файлом локальной системы или файлом, переданным от некоторой другой системы. Если файл не является файлом локальной системы, то обычно данная команда именует файл spool каталога. Если используется дополнительный второй параметр, то файл должен копироваться в исполняемый каталог под данным именем. Это необходимо для любого файла, отличного от стандартного входного файла. Если стандартный входной файл берется не из локальной системы, то данный файл присутствует и в команде F и в команде I.
R requestor-address
Данная команда задает адрес, по которому отсылается сообщение о задаче. Адрес задается относительно системы, заданной командой U. Если команда R не используется, то почтовое сообщение отправляется пользователю, заданному командой U.
Z
Данная команда не требует никаких аргументов. Это означает, что почтовое сообщение отсылается при неудачном завершении команды. Это заданное по умолчанию поведение большинства современных пакетов UUCP, и тем самым для них команда Z фактически ни чего не означает.
N
У данной команды нет никаких аргументов. Означает, что почтовое сообщение не отсылается, даже при неудачном завершении команды.
n
У команда нет никаких аргументов. Означает, что следует отослать почтовое сообщение, если команда заканчивается удачно. Обычно сообщение отсылается, только если команда заканчивается неудачно.
B
У данной команды нет никаких параметров. Обозначает, что стандартный ввод должен быть возвращен с сообщением об ошибке. Это может быть полезно в тех случаях, когда ввод иначе будет потерян.
e
У данной команды аргументы отсутствуют. Это означает, что команда должна обрабатываться с помощью /bin/sh. Для некоторых пакетов это значение по умолчанию. Большинство пакетов отказывается выполнять сложные команды или команды, содержащие подстановочные знаки (wildcards), из-за возникающих при этом проблем в защите.
E
У данной команды параметры отсутствуют. Это означает, что команда должна обрабатываться с помощью системного вызова execve. Для некоторых пакетов это значение по умолчанию.
M status-file
Данная команда обозначает, что вместо отправки сообщения по почте, сообщение должно быть скопировано в указанный файл системы, задаваемый командой U.
# comment
Данная команда игнорируется, точно также как и любая другая нераспознанная команда.

Ниже приведен пример. Задает следующую команду, выполняемую на системе test1:

    uux - test2!cat - test2!~ian/bar !qux '>~/gorp'
(Это только пример, так как на большинстве систем UUCP не разрешено выполнение команды cat) Taylor UUCP генерирует кое-что вроде следующего X. файла:
U ian test1
F D.test1N003r qux
O /usr/spool/uucppublic test1
F D.test1N003s
I D.test1N003s
C cat - ~ian/bar qux

Стандартный ввод читается в файл, который затем передается в файл D.test1N003s системы test2. Файл qux передается в файл D.test1N003r системы test2. Когда данная команда исполняется, последний файл (qux) копируется в каталог исполнения под именем 'qux'. Обратите внимание, что, так как файл ~ian/bar уже находится на системе исполнения задач, то никакая потребность действиях не предпринимается для него. Стандартный вывод записывается в файл, затем копируется в каталог /usr/spool/uucppublic системы test1.