1uux(1C)                     Communication Commands                     uux(1C)
2
3
4

NAME

6       uux - UNIX-to-UNIX system command execution
7

SYNOPSIS

9       uux [-] [-bcCjnprz] [-a name] [-g grade]
10            [-s filename] [-x debug_level] command-string
11
12

DESCRIPTION

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

OPTIONS

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

ENVIRONMENT VARIABLES

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

EXIT STATUS

154       The following exit values are returned:
155
156       0     Successful completion.
157
158
159       >0    An error occurred.
160
161

FILES

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

ATTRIBUTES

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

SEE ALSO

190       cut(1), mail(1), uucp(1C), uuglist(1C), uustat(1C), attributes(5), env‐
191       iron(5), standards(5)
192

NOTES

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)
Impressum