<
tool, file format> ("Shell archive", after
ar and
tar)
Any of the many
Unix programs that creates a
flattened
representation of one or more files, with the unique property
that it can be unflattened (the original files extracted)
merely by feeding it through a standard
Unix shell. The
output of
shar, known as a "
shar file" or "sharchive", can be
distributed to anyone running
Unix, and no special unpacking
software is required.
Sharchives are intriguing in that they are typically created
by shell scripts; the script that produces sharchives is thus
a script which produces self-unpacking scripts, which may
themselves contain scripts. The disadvantage of sharchives
are that they are an ideal venue for
Trojan horse attacks
and that, for recipients not running Unix, no simple
un-sharchiving program is possible; sharchives can and do make
use of arbitrarily-powerful shell features and other Unix
commands.
Different implementations of
shar vary in sophistication.
Some just
uuencode each input
file and output commands to
uudecode the result, others include extensive checking to
make sure the files have been transferred without corruption
and that all parts of a multi-
file sharchive have been
unpacked.
The
unshar utility strips off mail and news headers before
passing the remainder of its input to sh.
(1996-10-18)