UUX(1C) 
НАЗВАНИЕ 
uux - выполнение команд на удаленных системах
 СИНТАКСИС
 
	uux  [-] [-a имя_пользователя] [-b] [-c] [-C] [-g приоритет] [-j] [-n] [
	     [-r] [-s файл] [-x уровень_отладки] [-z] командная_цепочка
 
ОПИСАНИЕ 
Команда uux собирает ноль или более файлов с  различных
систем, выполняет команду на указанной системе  и затем
направляет стандартный вывод в файл на указанной системе. Отметим, что в целях безопасности во многих версиях
наложены ограничения на список команд, выполняемых uux.
Многие разрешают производить посредством uux только получение почты [см. mail(1)]. (Права на  выполнение  команд  на  удаленных  системах   указываются   в   файле
/usr/lib/uucp/Permissions).
 Командная_цепочка состоит из одного или более  аргументов и похожа на командную строку shell'а, но имена  команд и файлов могут иметь префикс [имя_системы]!.  Если
имя_системы не указано, подразумевается локальная  система.
 Имя файла может быть:
 
-  Полным маршрутным именем.
 -  Маршрутным  именем с приставкой ~имя_пользователя,
которая заменяется именем исходного каталога пользователя в соответствующей  системе.  Если  такого
пользователя  нет, подставится каталог /usr/spool/
uucppublic.
 -  Маршрутным именем с приставкой ~/получатель, которая  заменяется  на  /usr/spool/uucppublic/получатель. Получатель трактуется как имя обычного  файла, если только не копируется несколько файлов или
получатель ранее уже не был  создан  как  каталог.
Если обязательно нужно выполнять копирование в каталог, после получателя следует поставить /.  Так,
если в качестве целевого_файла указать ~/dir/, будет создан каталог /usr/spool/uucppublic/dir (если
его еще не было), в который и скопируются исходные
файлы.
  
Все остальное считается маршрутным именем  относительно
текущего каталога.
 Например, команда
 
	uux  "!diff sys5!/usr/dan/f1 sys6!/dan/f2 > !~/dan/f3"
 
возьмет  файл  f1 с машины sys5, файл f2 с машины sys6,
сравнит их посредством утилиты diff(1) и  поместит  результат  в  файл  /usr/spool/uucppublic/f3 на локальной
машине.
 Любой символ, имеющий для shell'а специальное значение,
должен быть экранирован либо путем  заключения  командной_цепочки в кавычки, как это сделано в примере,  либо
путем экранирования каждого символа отдельно.
 Команда uux пытается собрать все нужные  файлы  на  той
машине, где будет выполняться команда.  Выходные  файлы
следует заключать в скобки. Например, команда
 
	uux  a!cut -c1-72 b!/usr/file (c!/usr/file)
 
перешлет файл /usr/file с машины b на  a,  выполнит  на
машине a команду cut(1) и отправит результат на  машину
c.
 Если выполняемая команда запрещена в указанной системе,
то uux сообщит об этом. Сообщение  придет  по  почте  с
удаленной машины. Отменить это сообщение поможет  опция
-n.
 Команда uux интерпретирует следующие опции:
 
- -  
 -   Сделать стандартный ввод  uux  стандартным  вводом
для командной_цепочки.
 - 
-a имя_пользователя 
 - 
Использовать  заданное   имя_пользователя   вместо
идентификатора пользователя, запустившего  команду
uux. Все сообщения будут посланы пользователю.
 - 
-b 
 -   Вернуться, что бы  ни  поступило  со  стандартного
ввода для uux, если код завершения ненулевой.
 - 
-c 
 -   При пересылке локального файла на удаленную систему не копировать его в буферный каталог (режим  по
умолчанию).
 - 
-C  
 -  При пересылке локального файла на удаленную систему копировать его в буферный каталог.
 - 
-g приоритет 
 - 
Приоритет - один символ  (буква  или  цифра).  Чем
меньше ASCII-код символа, тем больший приоритет  в
пределах сеанса  связи  будет  иметь  задание.  По
умолчанию приоритет равен N.
 - 
-j  
 -  Выдать идентификатор задания в виде цепочки символов на стандартный вывод. Этот идентификатор можно
использовать совместно с командой  uustat(1C)  для
получения состояния или для терминации задания.
 - 
-n  
 -  Не извещать пользователя, если команду не  удалось
выполнить.
 - 
-p  
 -  То же, что и -.
 - 
-r 
 -   Поставить задание в очередь, но не  начинать  процесс выполнения.
 - 
-s файл 
 - 
Поместить статус задания в файл. Заметим, что файл
должен задаваться полным маршрутным именем.
 - 
-x уровень_отладки 
 - 
Выводить на стандартный вывод отладочную  информацию. Уровень_отладки - это число от 0 до 9, причем
большему числу соответствует более  детальная  информация.
 - 
-z  
 -  Послать пользователю уведомление об  успешном  завершении задания.
  
ФАЙЛЫ
 
	/usr/spool/uucp/*          Служебные каталоги.
	/usr/lib/uucp/Permissions  Права на  выполнение  команд
		                   на удаленных системах.
	/usr/lib/uucp/*            Другие файлы программ и данных.
 
СМ. ТАКЖЕ 
cu(1), mail(1), uucp(1C), uustat(1C).
 ПРЕДОСТЕРЕЖЕНИЯ 
Только первая команда  конвейера  может  иметь  префикс
имя_системы!. Все остальные команды будут выполняться в
этой же системе.
 Использование метасимвола shell'а *  может  привести  к
неожиданным последствиям. Символы shell'а <<  и  >>  не
поддерживаются.
 Выполнение команды на  удаленной  системе  производится
только в специальном каталоге, известном uucp. Все требуемые файлы будут помещены в этот каталог, если только
они еще не находятся на  этой  машине.  Таким  образом,
простое имя файла (без указания маршрута поиска или машины) должно быть уникальным в рамках  данного  запроса
uux. Следующая команда НЕ БУДЕТ РАБОТАТЬ:
 
	uux  "a!diff b!/usr/dan/xyz c!/usr/dan/xyz > !xyz.diff"
 
но команда
	uux  "a!diff a!/usr/dan/xyz c!/usr/dan/xyz > !xyz.diff"
 
проработает правильно (если утилита diff разрешена  для
выполнения на удаленных системах).
СЮРПРИЗЫ  
Защищенные файлы и файлы, находящиеся в защищенных  каталогах, владельцем которых  является  заказчик,  могут
пересылаться в ходе работы команды uucp.  Однако,  если
заказчик является суперпользователем, а каталог  недоступен для просмотра или файл недоступен для чтения прочим пользователям, то запрос не будет удовлетворен.
 
 |