2.  Uux - UNIX To UNIX Execution

The uux command is used to set up the execution of a UNIXcommand where the execution machine and/or some of the files are remote. The syntax of the uux command is

where the command-string is made up of one or more arguments. All special shell characters such as ``<>|^'' must be quoted either by quoting the entire command-string or quoting the character as a separate argument. Within the command-string, the command and file names may contain a system-name! prefix. All arguments which do not contain a ``!'' will not be treated as files. (They will not be copied to the execution machine.) The ``-'' is used to indicate that the standard input for command-string should be inherited from the standard input of the uux command. The options, essentially for debugging, are:

-r
Don't start uucico or uuxqt after queuing the job;
-xnum
Num is the level of debugging output desired.

The command

pr abc | uux - usg!lpr

will set up the output of ``pr abc'' as standard input to an lpr command to be executed on system ``usg''.

Uux generates an execute file which contains the names of the files required for execution (including standard input), the user's login name, the destination of the standard output, and the command to be executed. This file is either put in the spool directory for local execution or sent to the remote system using a generated send command (type 3 above).

For required files which are not on the execution machine, uux will generate receive command files (type 2 above). These command-files will be put on the execution machine and executed by the uucico program. (This will work only if the local system has permission to put files in the remote spool directory as controlled by the remote USERFILE. )

The execute file will be processed by the uuxqt program on the execution machine. It is made up of several lines, each of which contains an identification character and one or more arguments. The order of the lines in the file is not relevant and some of the lines may not be present. Each line is described below.

User Line

where the user and system are the requester's login name and system.

Required File Line

where the file-name is the generated name of a file for the execute machine and real-name is the last part of the actual file name (contains no path information). Zero or more of these lines may be present in the execute file. The uuxqt program will check for the existence of all required files before the command is executed.

Standard Input Line

The standard input is either specified by a ``<'' in the command-string or inherited from the standard input of the uux command if the ``-'' option is used. If a standard input is not specified, ``/dev/null'' is used.

Standard Output Line

The standard output is specified by a ``>'' within the command-string. If a standard output is not specified, ``/dev/null'' is used. (Note - the use of ``>>'' is not implemented.)

Command Line

The arguments are those specified in the command-string. The standard input and standard output will not appear on this line. All required files will be moved to the execution directory (a subdirectory of the spool directory) and the UNIXcommand is executed using the Shell specified in the uucp.h header file. In addition, a shell ``PATH'' statement is prepended to the command line as specified in the uuxqt program.

After execution, the standard output is copied or set up to be sent to the proper place.