1uux(1C) Communication Commands uux(1C)
2
3
4
6 uux - UNIX-to-UNIX system command execution
7
9 uux [-] [-bcCjnprz] [-a name] [-g grade]
10 [-s filename] [-x debug_level] command-string
11
12
14 The uux utility will gather zero or more files from various systems,
15 execute a command on a specified system and then send standard output
16 to a file on a specified system.
17
18
19 Note: For security reasons, most installations limit the list of com‐
20 mands executable on behalf of an incoming request from uux, permitting
21 only the receipt of mail (see mail(1)). (Remote execution permissions
22 are defined in /etc/uucp/Permissions.)
23
24
25 The command-string is made up of one or more arguments that look like a
26 shell command line, except that the command and file names may be pre‐
27 fixed by system-name!. A null system-name is interpreted as the local
28 system.
29
30
31 File names may be one of the following:
32
33 o An absolute path name.
34
35 o A path name preceded by ~xxx, where xxx is a login name on
36 the specified system and is replaced by that user's login
37 directory.
38
39
40 Anything else is prefixed by the current directory.
41
42
43 As an example, the command:
44
45 example% uux "!diff sys1!/home/dan/filename1 \
46 sys2!/a4/dan/filename2 > !~/dan/filename.diff"
47
48
49
50
51 will get the filename1 and filename2 files from the sys1 and sys2
52 machines, execute a diff(1) command and put the results in file‐
53 name.diff in the local PUBDIR/dan/ directory. PUBDIR is a public direc‐
54 tory defined in the uucp source. By default, this directory is
55 /var/spool/uucppublic.
56
57
58 Any special shell characters (such as < > ; |) should be quoted either
59 by quoting the entire command-string, or quoting the special characters
60 as individual arguments. The redirection operators >>, <<, >|, and >&
61 cannot be used.
62
63
64 uux will attempt to get all appropriate files to the specified system
65 where they will be processed. For files that are output files, the file
66 name must be escaped using parentheses. For example, the command:
67
68 example% uux "a!cut -f1 b!/usr/filename > c!/usr/filename"
69
70
71
72
73 gets /usr/filename from system b and sends it to system a, performs a
74 cut command on that file and sends the result of the cut command to
75 system c.
76
77
78 uux will notify you if the requested command on the remote system was
79 disallowed. This notification can be turned off by the -n option. The
80 response comes by remote mail from the remote machine.
81
83 The following options are supported:
84
85 − The standard input to uux is made the standard input
86 to the command-string.
87
88
89 -a name Uses name as the user job identification replacing
90 the initiator user-id. (Notification will be returned
91 to user-id name.)
92
93
94 -b Returns whatever standard input was provided to the
95 uux command if the exit status is non-zero.
96
97
98 -c Does not copy local file to the spool directory for
99 transfer to the remote machine (default).
100
101
102 -C Forces the copy of local files to the spool directory
103 for transfer.
104
105
106 -g grade grade can be either a single letter, number, or a
107 string of alphanumeric characters defining a service
108 grade. The uuglist(1C) command determines whether it
109 is appropriate to use the single letter, number, or a
110 string of alphanumeric characters as a service grade.
111 The output from the uuglist command will be a list of
112 service grades that are available or a message that
113 says to use a single letter or number as a grade of
114 service.
115
116
117 -j Outputs the jobid string on the standard output which
118 is the job identification. This job identification
119 can be used by uustat(1C) to obtain the status or
120 terminate a job.
121
122
123 -n Does not notify the user if the command fails.
124
125
126 -p Same as −. The standard input to uux is made the
127 standard input to the command-string.
128
129
130 -r Does not start the file transfer, but just queues the
131 job.
132
133
134 -s filename Reports status of the transfer in filename. This
135 option is accepted for compatibility, but it is
136 ignored because it is insecure.
137
138
139 -x debug_level Produces debugging output on the standard output.
140 debug_level is a number between 0 and 9. As
141 debug_level increases to 9, more detailed debugging
142 information is given.
143
144
145 -z Sends success notification to the user.
146
147
149 See environ(5) for descriptions of the following environment variables
150 that affect the execution of uux: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES,
151 and NLSPATH.
152
154 The following exit values are returned:
155
156 0 Successful completion.
157
158
159 >0 An error occurred.
160
161
163 /etc/uucp/* other data and programs
164
165
166 /etc/uucp/Permissions remote execution permissions
167
168
169 /usr/lib/uucp/* other programs
170
171
172 /var/spool/uucp spool directories
173
174
176 See attributes(5) for descriptions of the following attributes:
177
178
179
180
181 ┌─────────────────────────────┬─────────────────────────────┐
182 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
183 ├─────────────────────────────┼─────────────────────────────┤
184 │Availability │SUNWbnuu │
185 ├─────────────────────────────┼─────────────────────────────┤
186 │Interface Stability │Standard │
187 └─────────────────────────────┴─────────────────────────────┘
188
190 cut(1), mail(1), uucp(1C), uuglist(1C), uustat(1C), attributes(5), env‐
191 iron(5), standards(5)
192
194 The execution of commands on remote systems takes place in an execution
195 directory known to the uucp system.
196
197
198 All files required for the execution will be put into this directory
199 unless they already reside on that machine. Therefore, the simple file
200 name (without path or machine reference) must be unique within the uux
201 request. The following command will NOT work:
202
203 example% uux "a!diff b!/home/dan/xyz c!/home/dan/xyz > !xyz.diff"
204
205
206
207
208 But the command:
209
210 example% uux "a!diff a!/home/dan/xyz c!/home/dan/xyz > !xyz.diff"
211
212
213
214
215 will work (if diff is a permitted command.)
216
217
218 Protected files and files that are in protected directories that are
219 owned by the requester can be sent in commands using uux. However, if
220 the requester is root, and the directory is not searchable by "other",
221 the request will fail.
222
223
224 The following restrictions apply to the shell pipeline processed by
225 uux:
226
227 o In gathering files from different systems, pathname expan‐
228 sion in not performed by uux. Thus, a request such as
229
230 uux "c89 remsys!~/*.c"
231
232
233 would attempt to copy the file named literally *.c to the
234 local system.
235
236 o Only the first command of a shell pipeline may have a sys‐
237 tem-name!. All other commands are executed on the system of
238 the first command.
239
240 o The use of the shell metacharacter * will probably not do
241 what you want it to do.
242
243 o The shell tokens << and >> are not implemented.
244
245 o The redirection operators >>, <<, >|, and >& cannot be used.
246
247 o The reserved word ! cannot be used at the head of the pipe‐
248 line to modify the exit status.
249
250 o Alias substitution is not performed.
251
252
253
254SunOS 5.11 28 Mar 1995 uux(1C)