tail head cat sleep
QR code linking to this page

Manual Pages  — SHAR

NAME

shar – create a shell archive of files

CONTENTS

DEPRECATION NOTICE

shar is obsolete and may not be present in FreeBSD 15 and later. Because shell archives are simultaneously data and code and are typically interpreted by sh(1), they can easily be trojan-horsed and pose a significant security risk to users. The tar(1) utility can still produce shar encodings of files if needed. The sysutils/freebsd-shar port has been created to maintain this version of shar past its deprecation in base.

SYNOPSIS


shar file ...

DESCRIPTION

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` amp;| mail -s "ls source" rick

To recreate the program directory:

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

SEE ALSO

compress(1), mail(1), tar(1), uuencode(1)

HISTORY

The shar command appeared in BSD 4.4 .

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 (' ) 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

SHAR (1) January 1, 2025

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

This philosophy, in the hands of amateurs, leads to inexplicably mind-numbing botches like the existence of two programs, “head” and “tail,” which print the first part or the last part of a file, depending. Even though their operations are duals of one another, “head” and “tail” are different programs, written by different authors, and take different options!
— The Unix Haters' handbook