unshar - unpack a shar file


unshar [ options ] [ file ... ]


Unshar scans mail messages looking for the start of a shell archive. It then passes the archive through a copy of the shell to unpack it. It will accept multiple files. If no files are given, standard input is used.


Options have a one letter version starting with - or a long version starting with --. The exception is --help and --version, which does not have a short version.
--version Print the version number of the program on standard output, then immediately exits.
--help Print a help summary on standard output, then immediately exits.
-d DIRECTORY --directory=DIRECTORY Change directory to DIRECTORY before unpacking any files.
-c --overwrite Passed as an option to the shar file. Many shell archive scripts (including those produced by ‘shar’ 3.40 and newer) accepts a -c argument to indicate that existing files should be overwritten.
-e --exit-0 This option exists mainly for people who collect many shell archives into a single mail folder. With this option, ‘unshar’ isolates each different shell archive from the others which have been put in the same file, unpacking each in turn, from the beginning of the file towards its end. Its proper operation relies on the fact that many shar files are terminated by a ‘exit 0’ at the beginning of a line.

Option -e is internally equivalent to -E "exit 0".

-E STRING --split-at=STRING This option works like -e, but it allows you to specify the string that separates archives if ‘exit 0’ isn’t appropriate.

For example, noticing that most ‘.signatures’ have a ‘--’ on a line right before them, one can sometimes use ‘--split-at=--’ for splitting shell archives which lack the ‘exit 0’ line at end. The signature will then be skipped altogether with the headers of the following message.

-f --force The same as -c.




Any message from the shell may be displayed.


The shar and unshar programs is the collective work of many authors. Many people contributed by reporting problems, suggesting various improvements or submitting actual code. A list of these people is in the THANKS file in the sharutils distribution.


Report bugs to <>. Please put sharutils in the subject line. It helps to spot the message.

openSUSE Logo