Invoking uuencode
=================

uuencode is used to create an ASCII representation of a file that can be sent over channels that may otherwise corrupt the data. Specifically, email cannot handle binary data and will often even insert a character when the six character sequence "\nFrom " is seen.

uuencode will read in-file if provided and otherwise read data from standard in and write the encoded form to standard out. The output will begin with a header line for use by uudecode giving it the resulting suggested file output-name and access mode.  If the output-name is specifically /dev/stdout, then uudecode will emit the decoded file to standard out.

Note: uuencode uses buffered input and assumes that it is not hand typed from a tty.  The consequence is that at a tty, you may need to hit Ctl-D several times to terminate input.

This section was generated by AutoGen, using the agtexi-cmd template and the option descriptions for the uuencode program. This software is released under the GNU General Public License, version 3 or later.

uuencode help/usage (--help)
----------------------------

This is the automatically generated usage text for uuencode.

The text printed is the same whether selected with the help option (--help) or the more-help option (--more-help).  more-help will print the usage text by passing it through a pager program. more-help is disabled on platforms without a working fork(2) function.  The PAGER environment variable is used to select the program, defaulting to more.  Both will exit with a status code of 0.

     uuencode (GNU sharutils) - encode a file into email friendly text
     Usage:  uuencode [ -<flag> | --<name> ]... [<in-file>] <output-name>

        -m, --base64               convert using base64
        -e, --encode-file-name     encode the output file name
        -v, --version[=MODE]       output version information and exit
        -h, --help                 display extended usage information and exit
        -!, --more-help            extended usage information passed thru pager
        -R, --save-opts[=FILE]     save the option state to a config file FILE
        -r, --load-opts=FILE       load options from the config file FILE
                                     - disabled with '--no-load-opts'
                                     - may appear multiple times

     Options are specified by doubled hyphens and their name or by a single
     hyphen and the flag character.

     The following option preset mechanisms are supported:
      - reading file $HOME/.sharrc

     'uuencode' is used to create an ASCII representation of a file that can be
     sent over channels that may otherwise corrupt the data.  Specifically,
     email cannot handle binary data and will often even insert a character when
     the six character sequence "\nFrom " is seen.

     'uuencode' will read 'in-file' if provided and otherwise read data from
     standard in and write the encoded form to standard out.  The output will
     begin with a header line for use by 'uudecode' giving it the resulting
     suggested file 'output-name' and access mode.  If the 'output-name' is
     specifically '/dev/stdout', then 'uudecode' will emit the decoded file to
     standard out.

     'Note': 'uuencode' uses buffered input and assumes that it is not hand
     typed from a tty.  The consequence is that at a tty, you may need to hit
     Ctl-D several times to terminate input.

     Please send bug reports to:  <bug-gnu-utils@gnu.org>

base64 option (-m)
------------------

This is the ``convert using base64'' option. By default, uuencode will encode using the traditional conversion.  It is slower and less compact than base64. The encoded form of the file is expanded by 37% for UU encoding and by 35% for base64 encoding (3 bytes become 4 plus control information).

encode-file-name option (-e)
----------------------------

This is the ``encode the output file name'' option. Since output file names may contain characters that are not handled well by various transmission modes, you may specify that the output-name be base64 encoded as well. (Traditional uuencoding of the file name is not supported.)

presetting/configuring uuencode
-------------------------------

Any option that is not marked as not presettable may be preset by loading values from configuration ("rc" or "ini") files.

libopts will search in $HOME for configuration (option) data. The environment variable HOME,  is expanded and replaced when the program runs If this is a plain file, it is simply processed. If it is a directory, then a file named .sharrc is searched for within that directory.

Configuration files may be in a wide variety of formats. The basic format is an option name followed by a value (argument) on the same line.  Values may be separated from the option name with a colon, equal sign or simply white space.  Values may be continued across multiple lines by escaping the newline with a backslash.

Multiple programs may also share the same initialization file. Common options are collected at the top, followed by program specific segments.  The segments are separated by lines like:

     [UUENCODE]

or by

     <?program uuencode>

Do not mix these styles within one configuration file.

Compound values and carefully constructed string values may also be specified using XML syntax:

     <option-name>
        <sub-opt>...&lt;...&gt;...</sub-opt>
     </option-name>

yielding an option-name.sub-opt string value of

     "...<...>..."

AutoOpts does not track suboptions.  You simply note that it is a hierarchicly valued option.  AutoOpts does provide a means for searching the associated name/value pair list (see: optionFindValue).

The command line options relating to configuration and/or usage help are:

version (-v)
............

Print the program version to standard out, optionally with licensing information, then exit 0.  The optional argument specifies how much licensing detail to provide.  The default is to print the license name with the version.  The licensing infomation may be selected with an option argument. Only the first letter of the argument is examined:

version
     Only print the version.

copyright
     Name the copyright usage licensing terms.  This is the default.

verbose
     Print the full copyright usage licensing terms.

uuencode exit status
--------------------

One of the following exit values will be returned:

0 (EXIT_SUCCESS)
     Successful program execution.

1 (EXIT_FAILURE)
     The operation failed or the command syntax was not valid.

66 (EX_NOINPUT)
     A specified configuration file could not be loaded.

70 (EX_SOFTWARE)
     libopts had an internal operational error.  Please report it to autogen-users@lists.sourceforge.net.  Thank you.

uuencode Bugs
-------------

Please put sharutils in the subject line for emailed bug reports.  It helps to spot the message.

uuencode Standards
------------------

This implementation is compliant with P1003.2b/D11.

uuencode History
----------------

The uuencode command first appeared in BSD 4.0.

uuencode See Also
-----------------

uudecode(1), uuencode(5)