Provided by: uucp_1.07-24_amd64 bug


       uux - Remote command execution over UUCP


       uux [ options ] command


       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) daemon.

       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 meaningful on the remote system.  A pathname may begin with ~/, in which
       case  it  is  relative  to  the  UUCP  public  directory (usually /usr/spool/uucppublic or
       /var/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

       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 redirection
       characters must be quoted so that they are passed to uux rather than  interpreted  by  the
       shell.  Append redirection (>>) 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  interpretation  of  exclamation  points.
       This is useful when executing the uucp command on a remote system.

       A  request  to  execute an empty command (e.g., uux sys!)  will create a poll file for the
       specified system.

       The exit status of uux is one of the codes  found  in  the  header  file  sysexits.h.   In
       particular,  EX_OK  (  0 ) indicates success, and EX_TEMPFAIL ( 75 ) indicates a temporary


       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

       -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 processing.

       -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  cancelled  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 number 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.

            Print a help message and exit.


       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.


       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.


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


       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.


       Ian Lance Taylor (

                                         Taylor UUCP 1.07                                  uux(1)