shar(1)

shar1

Create a shell archive of files

Usage

shar file ...

Overview

The shar command writes a sh(1) shell script to the standard output which will recreate the file hierarchy specified by the command line operands. Directories will be recreated and must be specified before the files they contain (the find(1) utility does this correctly).

The shar command is normally used for distributing files by ftp(1) or mail(1).

Examples

To create a shell archive of the program ls(1) and mail it to Rick:

cd ls
shar `find . -print` | mail -s "ls source" rick

To recreate the program directory:

mkdir ls
cd ls
...
<delete header lines and examine mailed archive>
...
sh archive

Releases

163 releases since Mac OS X 10.0; the text changed 4 times.

  1. 10.0–10.4.11
  2. 10.5–10.5.8
  3. 10.6–10.6.2
  4. 10.6.3–12.2
  5. 12.3–26.5

-b until Mac OS X 10.6.2; -o until Mac OS X 10.6.2; -r until Mac OS X 10.6.2.

History

The shar command appeared in 4.4BSD.

Bugs

The shar command makes no provisions for special types of files or files containing magic characters. The shar command cannot handle files without a newline ('\n') as the last character.

It is easy to insert trojan horses into shar files. It is strongly recommended that all shell archive files be examined before running them through sh(1). Archives produced using this implementation of shar may be easily examined with the command:

egrep -av '^[X#]' shar.file

From file_cmds 479 in macOS 26.5. Parsed by carta from the page's mdoc source.