1UUDECODE(1P) POSIX Programmer's Manual UUDECODE(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
11
13 uudecode — decode a binary file
14
16 uudecode [−o outfile] [file]
17
19 The uudecode utility shall read a file, or standard input if no file is
20 specified, that includes data created by the uuencode utility. The
21 uudecode utility shall scan the input file, searching for data compati‐
22 ble with one of the formats specified in uuencode, and attempt to cre‐
23 ate or overwrite the file described by the data (or overridden by the
24 −o option). The pathname shall be contained in the data or specified by
25 the −o option. The file access permission bits and contents for the
26 file to be produced shall be contained in that data. The mode bits of
27 the created file (other than standard output) shall be set from the
28 file access permission bits contained in the data; that is, other
29 attributes of the mode, including the file mode creation mask (see
30 umask), shall not affect the file being produced. If either of the op
31 characters '+' and '−' (see chmod) are specified in symbolic mode, the
32 initial mode on which those operations are based is unspecified.
33
34 If the pathname of the file to be produced exists, and the user does
35 not have write permission on that file, uudecode shall terminate with
36 an error. If the pathname of the file to be produced exists, and the
37 user has write permission on that file, the existing file shall be
38 overwritten.
39
40 If the input data was produced by uuencode on a system with a different
41 number of bits per byte than on the target system, the results of uude‐
42 code are unspecified.
43
45 The uudecode utility shall conform to the Base Definitions volume of
46 POSIX.1‐2008, Section 12.2, Utility Syntax Guidelines.
47
48 The following option shall be supported by the implementation:
49
50 −o outfile
51 A pathname of a file that shall be used instead of any path‐
52 name contained in the input data. Specifying an outfile
53 option-argument of /dev/stdout shall indicate standard out‐
54 put.
55
57 The following operand shall be supported:
58
59 file The pathname of a file containing the output of uuencode.
60
62 See the INPUT FILES section.
63
65 The input files shall be files containing the output of uuencode.
66
68 The following environment variables shall affect the execution of uude‐
69 code:
70
71 LANG Provide a default value for the internationalization vari‐
72 ables that are unset or null. (See the Base Definitions vol‐
73 ume of POSIX.1‐2008, Section 8.2, Internationalization Vari‐
74 ables for the precedence of internationalization variables
75 used to determine the values of locale categories.)
76
77 LC_ALL If set to a non-empty string value, override the values of
78 all the other internationalization variables.
79
80 LC_CTYPE Determine the locale for the interpretation of sequences of
81 bytes of text data as characters (for example, single-byte as
82 opposed to multi-byte characters in arguments and input
83 files).
84
85 LC_MESSAGES
86 Determine the locale that should be used to affect the format
87 and contents of diagnostic messages written to standard
88 error.
89
90 NLSPATH Determine the location of message catalogs for the processing
91 of LC_MESSAGES.
92
94 Default.
95
97 If the file data header encoded by uuencode is − or /dev/stdout, or the
98 −o /dev/stdout option overrides the file data, the standard output
99 shall be in the same format as the file originally encoded by uuencode.
100 Otherwise, the standard output shall not be used.
101
103 The standard error shall be used only for diagnostic messages.
104
106 The output file shall be in the same format as the file originally
107 encoded by uuencode.
108
110 None.
111
113 The following exit values shall be returned:
114
115 0 Successful completion.
116
117 >0 An error occurred.
118
120 Default.
121
122 The following sections are informative.
123
125 The user who is invoking uudecode must have write permission on any
126 file being created.
127
128 The output of uuencode is essentially an encoded bit stream that is not
129 cognizant of byte boundaries. It is possible that a 9-bit byte target
130 machine can process input from an 8-bit source, if it is aware of the
131 requirement, but the reverse is unlikely to be satisfying. Of course,
132 the only data that is meaningful for such a transfer between architec‐
133 tures is generally character data.
134
136 None.
137
139 Input files are not necessarily text files, as stated by an early pro‐
140 posal. Although the uuencode output is a text file, that output could
141 have been wrapped within another file or mail message that is not a
142 text file.
143
144 The −o option is not historical practice, but was added at the request
145 of WG15 so that the user could override the target pathname without
146 having to edit the input data itself.
147
148 In early drafts, the [−o outfile] option-argument allowed the use of −
149 to mean standard output. The symbol − has only been used previously in
150 POSIX.1‐2008 as a standard input indicator. The standard developers
151 did not wish to overload the meaning of − in this manner. The /dev/std‐
152 out concept exists on most modern systems. The /dev/stdout syntax does
153 not refer to a new special file. It is just a magic cookie to specify
154 standard output.
155
157 None.
158
160 chmod, umask, uuencode
161
162 The Base Definitions volume of POSIX.1‐2008, Chapter 8, Environment
163 Variables, Section 12.2, Utility Syntax Guidelines
164
166 Portions of this text are reprinted and reproduced in electronic form
167 from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
168 -- Portable Operating System Interface (POSIX), The Open Group Base
169 Specifications Issue 7, Copyright (C) 2013 by the Institute of Electri‐
170 cal and Electronics Engineers, Inc and The Open Group. (This is
171 POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) In the
172 event of any discrepancy between this version and the original IEEE and
173 The Open Group Standard, the original IEEE and The Open Group Standard
174 is the referee document. The original Standard can be obtained online
175 at http://www.unix.org/online.html .
176
177 Any typographical or formatting errors that appear in this page are
178 most likely to have been introduced during the conversion of the source
179 files to man page format. To report such errors, see https://www.ker‐
180 nel.org/doc/man-pages/reporting_bugs.html .
181
182
183
184IEEE/The Open Group 2013 UUDECODE(1P)