1UUX(1P) POSIX Programmer's Manual UUX(1P)
2
3
4
6 This manual page is part of the POSIX Programmer's Manual. The Linux
7 implementation of this interface may differ (consult the corresponding
8 Linux manual page for details of Linux behavior), or the interface may
9 not be implemented on Linux.
10
12 uux - remote command execution
13
15 uux [-np] command-string
16
17 uux [-jnp] command-string
18
19
21 The uux utility shall gather zero or more files from various systems,
22 execute a shell pipeline (see Shell Commands ) on a specified system,
23 and then send the standard output of the command to a file on a speci‐
24 fied system. Only the first command of a pipeline can have a system-
25 name! prefix. All other commands in the pipeline shall be executed on
26 the system of the first command.
27
28 The following restrictions are applicable to the shell pipeline pro‐
29 cessed by uux:
30
31 * In gathering files from different systems, pathname expansion shall
32 not be performed by uux. Thus, a request such as:
33
34
35 uux "c99 remsys!~/*.c"
36
37 would attempt to copy the file named literally *.c to the local system.
38
39 * The redirection operators ">>", "<<", ">|", and ">&" shall not be
40 accepted. Any use of these redirection operators shall cause this
41 utility to write an error message describing the problem and exit
42 with a non-zero exit status.
43
44 * The reserved word ! cannot be used at the head of the pipeline to
45 modify the exit status. (See the command-string operand description
46 below.)
47
48 * Alias substitution shall not be performed.
49
50 A filename can be specified as for uucp; it can be an absolute path‐
51 name, a pathname preceded by ~ name (which is replaced by the corre‐
52 sponding login directory), a pathname specified as ~/ dest ( dest is
53 prefixed by the public directory called PUBDIR; the actual location of
54 PUBDIR is implementation-defined), or a simple filename (which is pre‐
55 fixed by uux with the current directory). See uucp for the details.
56
57 The execution of commands on remote systems shall take place in an exe‐
58 cution directory known to the uucp system. All files required for the
59 execution shall be put into this directory unless they already reside
60 on that machine. Therefore, the application shall ensure that non-local
61 filenames (without path or machine reference) are unique within the uux
62 request.
63
64 The uux utility shall attempt to get all files to the execution system.
65 For files that are output files, the application shall ensure that the
66 filename is escaped using parentheses.
67
68 The remote system shall notify the user by mail if the requested com‐
69 mand on the remote system was disallowed or the files were not accessi‐
70 ble. This notification can be turned off by the -n option.
71
72 Typical implementations of this utility require a communications line
73 configured to use the Base Definitions volume of IEEE Std 1003.1-2001,
74 Chapter 11, General Terminal Interface, but other communications means
75 may be used. On systems where there are no available communications
76 means (either temporarily or permanently), this utility shall write an
77 error message describing the problem and exit with a non-zero exit sta‐
78 tus.
79
80 The uux utility cannot guarantee support for all character encodings in
81 all circumstances. For example, transmission data may be restricted to
82 7 bits by the underlying network, 8-bit data and filenames need not be
83 portable to non-internationalized systems, and so on. Under these cir‐
84 cumstances, it is recommended that only characters defined in the
85 ISO/IEC 646:1991 standard International Reference Version (equivalent
86 to ASCII) 7-bit range of characters be used and that only characters
87 defined in the portable filename character set be used for naming
88 files.
89
91 The uux utility shall conform to the Base Definitions volume of
92 IEEE Std 1003.1-2001, Section 12.2, Utility Syntax Guidelines.
93
94 The following options shall be supported:
95
96 -p Make the standard input to uux the standard input to the com‐
97 mand-string.
98
99 -j Write the job identification string to standard output. This job
100 identification can be used by uustat to obtain the status or
101 terminate a job.
102
103 -n Do not notify the user if the command fails.
104
105
107 The following operand shall be supported:
108
109 command-string
110
111 A string made up of one or more arguments that are similar to
112 normal command arguments, except that the command and any file‐
113 names can be prefixed by system-name!. A null system-name shall
114 be interpreted as the local system.
115
116
118 The standard input shall not be used unless the '-' or -p option is
119 specified; in those cases, the standard input shall be made the stan‐
120 dard input of the command-string.
121
123 Input files shall be selected according to the contents of command-
124 string.
125
127 The following environment variables shall affect the execution of uux:
128
129 LANG Provide a default value for the internationalization variables
130 that are unset or null. (See the Base Definitions volume of
131 IEEE Std 1003.1-2001, Section 8.2, Internationalization Vari‐
132 ables for the precedence of internationalization variables used
133 to determine the values of locale categories.)
134
135 LC_ALL If set to a non-empty string value, override the values of all
136 the other internationalization variables.
137
138 LC_CTYPE
139 Determine the locale for the interpretation of sequences of
140 bytes of text data as characters (for example, single-byte as
141 opposed to multi-byte characters in arguments).
142
143 LC_MESSAGES
144 Determine the locale that should be used to affect the format
145 and contents of diagnostic messages written to standard error.
146
147 NLSPATH
148 Determine the location of message catalogs for the processing of
149 LC_MESSAGES .
150
151
153 Default.
154
156 The standard output shall not be used unless the -j option is speci‐
157 fied; in that case, the job identification string shall be written to
158 standard output in the following format:
159
160
161 "%s\n", <jobid>
162
164 The standard error shall be used only for diagnostic messages.
165
167 Output files shall be created or written, or both, according to the
168 contents of command-string.
169
170 If -n is not used, mail files shall be modified following any command
171 or file-access failures on the remote system.
172
174 None.
175
177 The following exit values shall be returned:
178
179 0 Successful completion.
180
181 >0 An error occurred.
182
183
185 Default.
186
187 The following sections are informative.
188
190 Note that, for security reasons, many installations limit the list of
191 commands executable on behalf of an incoming request from uux. Many
192 sites permit little more than the receipt of mail via uux.
193
194 Any characters special to the command interpreter should be quoted
195 either by quoting the entire command-string or quoting the special
196 characters as individual arguments.
197
198 As noted in uucp, shell pattern matching notation characters appearing
199 in pathnames are expanded on the appropriate local system. This is done
200 under the control of local settings of LC_COLLATE and LC_CTYPE . Thus,
201 care should be taken when using bracketed filename patterns, as colla‐
202 tion and typing rules may vary from one system to another. Also be
203 aware that certain types of expression (that is, equivalence classes,
204 character classes, and collating symbols) need not be supported on non-
205 internationalized systems.
206
208 1. The following command gets file1 from system a and file2 from sys‐
209 tem b, executes diff on the local system, and puts the results in
210 file.diff in the local PUBDIR directory. ( PUBDIR is the uucp pub‐
211 lic directory on the local system.)
212
213
214 uux "!diff a!/usr/file1 b!/a4/file2 >!~/file.diff"
215
216 2. The following command fails because uux places all files copied to
217 a system in the same working directory. Although the files xyz are
218 from two different systems, their filenames are the same and con‐
219 flict.
220
221
222 uux "!diff a!/usr1/xyz b!/usr2/xyz >!~/xyz.diff"
223
224 3. The following command succeeds (assuming diff is permitted on sys‐
225 tem a) because the file local to system a is not copied to the
226 working directory, and hence does not conflict with the file from
227 system c.
228
229
230 uux "a!diff a!/usr/xyz c!/usr/xyz >!~/xyz.diff"
231
233 None.
234
236 None.
237
239 Shell Command Language, uucp, uuencode, uustat
240
242 Portions of this text are reprinted and reproduced in electronic form
243 from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
244 -- Portable Operating System Interface (POSIX), The Open Group Base
245 Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
246 Electrical and Electronics Engineers, Inc and The Open Group. In the
247 event of any discrepancy between this version and the original IEEE and
248 The Open Group Standard, the original IEEE and The Open Group Standard
249 is the referee document. The original Standard can be obtained online
250 at http://www.opengroup.org/unix/online.html .
251
252
253
254IEEE/The Open Group 2003 UUX(1P)