Man Linux: Main Page and Category List

NAME

       uux - remote command execution

SYNOPSIS

       uux [-np] command-string

       uux [-jnp] command-string

DESCRIPTION

       The  uux  utility shall gather zero or more files from various systems,
       execute a shell pipeline (see Shell Commands ) on a  specified  system,
       and  then  send  the  standard  output  of  the  command to a file on a
       specified system. Only the first command  of  a  pipeline  can  have  a
       system-name!  prefix.  All  other  commands  in  the  pipeline shall be
       executed on the system of the first command.

       The  following  restrictions  are  applicable  to  the  shell  pipeline
       processed by uux:

        * In  gathering files from different systems, pathname expansion shall
          not be performed by uux. Thus, a request such as:

          uux "c99 remsys!~/*.c"

       would attempt to copy the file named literally *.c to the local system.

        * The redirection operators ">>" , "<<" , ">|" , and ">&" shall not be
          accepted. Any use of these redirection operators  shall  cause  this
          utility  to  write  an error message describing the problem and exit
          with a non-zero exit status.

        * The reserved word ! cannot be used at the head of  the  pipeline  to
          modify  the exit status. (See the command-string operand description
          below.)

        * Alias substitution shall not be performed.

       A filename can be  specified  as  for  uucp;  it  can  be  an  absolute
       pathname,  a  pathname  preceded  by  ~  name (which is replaced by the
       corresponding login directory), a pathname specified as ~/ dest (  dest
       is  prefixed by the public directory called PUBDIR; the actual location
       of PUBDIR is implementation-defined), or a simple  filename  (which  is
       prefixed  by uux with the current directory). See uucp for the details.

       The execution of commands on remote systems  shall  take  place  in  an
       execution  directory  known  to the uucp system. All files required for
       the execution shall be put into  this  directory  unless  they  already
       reside  on  that  machine. Therefore, the application shall ensure that
       non-local filenames (without path  or  machine  reference)  are  unique
       within the uux request.

       The uux utility shall attempt to get all files to the execution system.
       For files that are output files, the application shall ensure that  the
       filename is escaped using parentheses.

       The  remote  system  shall  notify  the  user  by mail if the requested
       command on the remote system was  disallowed  or  the  files  were  not
       accessible. This notification can be turned off by the -n option.

       Typical  implementations  of this utility require a communications line
       configured to use the Base Definitions volume of  IEEE Std 1003.1-2001,
       Chapter  11, General Terminal Interface, but other communications means
       may be used. On systems where there  are  no  available  communications
       means  (either temporarily or permanently), this utility shall write an
       error message describing the problem and  exit  with  a  non-zero  exit
       status.

       The uux utility cannot guarantee support for all character encodings in
       all circumstances. For example, transmission data may be restricted  to
       7  bits by the underlying network, 8-bit data and filenames need not be
       portable to non-internationalized  systems,  and  so  on.  Under  these
       circumstances,  it  is  recommended that only characters defined in the
       ISO/IEC 646:1991 standard International Reference  Version  (equivalent
       to  ASCII)  7-bit  range of characters be used and that only characters
       defined in the portable filename  character  set  be  used  for  naming
       files.

OPTIONS

       The  uux  utility  shall  conform  to  the  Base  Definitions volume of
       IEEE Std 1003.1-2001, Section 12.2, Utility Syntax Guidelines.

       The following options shall be supported:

       -p     Make the standard  input  to  uux  the  standard  input  to  the
              command-string.

       -j     Write the job identification string to standard output. This job
              identification can be used by uustat to  obtain  the  status  or
              terminate a job.

       -n     Do not notify the user if the command fails.

OPERANDS

       The following operand shall be supported:

       command-string

              A  string  made  up of one or more arguments that are similar to
              normal command  arguments,  except  that  the  command  and  any
              filenames  can  be  prefixed by system-name!. A null system-name
              shall be interpreted as the local system.

STDIN

       The standard input shall not be used unless the ’-’  or  -p  option  is
       specified;  in  those  cases,  the  standard  input  shall  be made the
       standard input of the command-string.

INPUT FILES

       Input files shall be selected according to  the  contents  of  command-
       string.

ENVIRONMENT VARIABLES

       The following environment variables shall affect the execution of uux:

       LANG   Provide  a  default value for the internationalization variables
              that are unset or null. (See  the  Base  Definitions  volume  of
              IEEE Std 1003.1-2001,    Section    8.2,    Internationalization
              Variables for the precedence of  internationalization  variables
              used to determine the values of locale categories.)

       LC_ALL If  set  to a non-empty string value, override the values of all
              the other internationalization variables.

       LC_CTYPE
              Determine the locale for  the  interpretation  of  sequences  of
              bytes  of  text  data as characters (for example, single-byte as
              opposed to multi-byte characters in arguments).

       LC_MESSAGES
              Determine the locale that should be used to  affect  the  format
              and contents of diagnostic messages written to standard error.

       NLSPATH
              Determine the location of message catalogs for the processing of
              LC_MESSAGES .

ASYNCHRONOUS EVENTS

       Default.

STDOUT

       The standard  output  shall  not  be  used  unless  the  -j  option  is
       specified; in that case, the job identification string shall be written
       to standard output in the following format:

              "%s\n", <jobid>

STDERR

       The standard error shall be used only for diagnostic messages.

OUTPUT FILES

       Output files shall be created or written, or  both,  according  to  the
       contents of command-string.

       If  -n  is not used, mail files shall be modified following any command
       or file-access failures on the remote system.

EXTENDED DESCRIPTION

       None.

EXIT STATUS

       The following exit values shall be returned:

        0     Successful completion.

       >0     An error occurred.

CONSEQUENCES OF ERRORS

       Default.

       The following sections are informative.

APPLICATION USAGE

       Note that, for security reasons, many installations limit the  list  of
       commands  executable  on  behalf  of an incoming request from uux. Many
       sites permit little more than the receipt of mail via uux.

       Any characters special to the  command  interpreter  should  be  quoted
       either  by  quoting  the  entire  command-string or quoting the special
       characters as individual arguments.

       As noted in uucp, shell pattern matching notation characters  appearing
       in pathnames are expanded on the appropriate local system. This is done
       under the control of local settings of LC_COLLATE and LC_CTYPE .  Thus,
       care  should  be  taken  when  using  bracketed  filename  patterns, as
       collation and typing rules may vary from one system to another. Also be
       aware  that  certain types of expression (that is, equivalence classes,
       character classes, and collating symbols) need not be supported on non-
       internationalized systems.

EXAMPLES

        1. The  following  command  gets  file1  from  system a and file2 from
           system b, executes diff on the local system, and puts  the  results
           in  file.diff  in  the local PUBDIR directory. ( PUBDIR is the uucp
           public directory on the local system.)

           uux "!diff a!/usr/file1 b!/a4/file2 >!~/file.diff"

        2. The following command fails because uux places all files copied  to
           a  system in the same working directory. Although the files xyz are
           from two different  systems,  their  filenames  are  the  same  and
           conflict.

           uux "!diff a!/usr1/xyz b!/usr2/xyz >!~/xyz.diff"

        3. The  following  command  succeeds  (assuming  diff  is permitted on
           system a) because the file local to system a is not copied  to  the
           working  directory,  and hence does not conflict with the file from
           system c.

           uux "a!diff a!/usr/xyz c!/usr/xyz >!~/xyz.diff"

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       Shell Command Language , uucp , uuencode , uustat

COPYRIGHT

       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the  referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .