uux(1) MachTen Programmer’s Manual uux(1)

NAME
uux - Remote command execution over UUCP

SYNOPSIS
uux [ options ] command

DESCRIPTION
The uux command is used to execute a command on a remote
system, or to execute a command on the local system using
files from remote systems. The command is not executed
immediately; the request is queued until the uucico (8)
daemon calls the system and executes it. The daemon is
started automatically unless one of the -r or --nouucico
options is given.

The actual command execution is done by the uuxqt (8) dae-
mon.

File arguments can be gathered from remote systems to the
execution system, as can standard input. Standard output
may be directed to a file on a remote system.

The command name may be preceded by a system name followed
by an exclamation point if it is to be executed on a
remote system. An empty system name is taken as the local
system.

Each argument that contains an exclamation point is
treated as naming a file. The system which the file is on
is before the exclamation point, and the pathname on that
system follows it. An empty system name is taken as the
local system; this must be used to transfer a file to a
command being executed on a remote system. If the path is
not absolute, it will be appended to the current working
directory on the local system; the result may not be mean-
ingful on the remote system. A pathname may begin with
~/, in which case it is relative to the UUCP public direc-
tory (usually /usr/spool/uucppublic) on the appropriate
system. A pathname may begin with ~name/, in which case
it is relative to the home directory of the named user on
the appropriate system.

Standard input and output may be redirected as usual; the
pathnames used may contain exclamation points to indicate
that they are on remote systems. Note that the redirec-
tion characters must be quoted so that they are passed to
uux rather than interpreted by the shell. Append redirec-
tion (>>) does not work.

All specified files are gathered together into a single
directory before execution of the command begins. This
means that each file must have a distinct base name. For
example,
uux ’sys1!diff sys2!~user1/foo sys3!~user2/foo >!foo.diff’
will fail because both files will be copied to sys1 and
stored under the name foo.

Arguments may be quoted by parentheses to avoid interpre-
tation of exclamation points. This is useful when execut-
ing the uucp command on a remote system.

OPTIONS
The following options may be given to uux.

-, -p, --stdin
Read standard input and use it as the standard input
for the command to be executed.

-c, --nocopy
Do not copy local files to the spool directory. This
is the default. If they are removed before being
processed by the uucico (8) daemon, the copy will
fail. The files must be readable by the uucico (8)
daemon, as well as the by the invoker of uux.

-C, --copy
Copy local files to the spool directory.

-l, --link
Link local files into the spool directory. If a file
can not be linked because it is on a different
device, it will be copied unless one of the -c or
--nocopy options also appears (in other words, use of
--link switches the default from --nocopy to --copy).
If the files are changed before being processed by
the uucico (8) daemon, the changed versions will be
used. The files must be readable by the uucico (8)
daemon, as well as by the invoker of uux.

-g grade, --grade grade
Set the grade of the file transfer command. Jobs of
a higher grade are executed first. Grades run 0 ...
9 A ... Z a ... z from high to low.

-n, --notification=no
Do not send mail about the status of the job, even if
it fails.

-z, --notification=error
Send mail about the status of the job if an error
occurs. For many uuxqt daemons, including the Taylor
UUCP uuxqt, this is the default action; for those,
--notification=error will have no effect. However,
some uuxqt daemons will send mail if the job succeeds
unless the --notification=error option is used, and
some other uuxqt daemons will not send mail if the
job fails unless the --notification=error option is
used.

-r, --nouucico
Do not start the uucico (8) daemon immediately;
merely queue up the execution request for later pro-
cessing.

-j, --jobid
Print jobids on standard output. A jobid will be
generated for each file copy operation required to
perform the operation. These file copies may be can-
celled by passing the jobid to the --kill switch of
uustat (1), which will make the execution impossible
to complete.

-a address, --requestor address
Report job status to the specified e-mail address.

-x type, --debug type
Turn on particular debugging types. The following
types are recognized: abnormal, chat, handshake,
uucp-proto, proto, port, config, spooldir, execute,
incoming, outgoing. Only abnormal, config, spooldir
and execute are meaningful for uux.

Multiple types may be given, separated by commas, and
the --debug option may appear multiple times. A num-
ber may also be given, which will turn on that many
types from the foregoing list; for example, --debug 2
is equivalent to --debug abnormal,chat.

-I file, --config file
Set configuration file to use. This option may not
be available, depending upon how uux was compiled.

-v, --version
Report version information and exit.

--help
Print a help message and exit.

EXAMPLES
uux -z - sys1!rmail user1
Execute the command ‘‘rmail user1’’ on the system sys1,
giving it as standard input whatever is given to uux as
standard input. If a failure occurs, send a message using
mail (1).

uux ’diff -c sys1!~user1/file1 sys2!~user2/file2 >!file.diff’
Fetch the two named files from system sys1 and system sys2
and execute diff putting the result in file.diff in the
current directory. The current directory must be writable
by the uuxqt (8) daemon for this to work.

uux ’sys1!uucp ~user1/file1 (sys2!~user2/file2)’
Execute uucp on the system sys1 copying file1 (on system
sys1) to sys2. This illustrates the use of parentheses
for quoting.

RESTRICTIONS
The remote system may not permit you to execute certain
commands. Many remote systems only permit the execution
of rmail and rnews.

Some of the options are dependent on the capabilities of
the uuxqt (8) daemon on the remote system.

FILES
The file names may be changed at compilation time or by
the configuration file, so these are only approximations.

/etc/uucp/config - Configuration file.
/usr/spool/uucp - UUCP spool directory.
/usr/spool/uucp/Log - UUCP log file.
/usr/spool/uucppublic - Default UUCP public directory.

SEE ALSO
mail(1), uustat(1), uucp(1), uucico(8), uuxqt(8)

BUGS
Files can not be referenced across multiple systems.

Too many jobids are output by --jobid, and there is no
good way to cancel a local execution requiring remote
files.

AUTHOR
Ian Lance Taylor (ian@airs.com)

MachTen Taylor UUCP 1.05 4