SHAR(1)

名称
shar - ファイルのシェルアーカイブを作成する

書式
shar file ...

解説
shar コマンドは、コマンドラインで指定したファイル階層を再生成するための sh(1) のスクリプトファイルを生成するものです (ちなみに、 shar 自身、シェルスクリプトです)。 shar で生成されるスクリプトファイルでディレクトリ を再生成する場合、コマンドライン上での指定は、その中に作成されるファイルより も先にディレクトリを指定しなくてはなりません ( find(1) の出力はこの順番で出るので、正しく動作します)。

shar コマンドは、通常は少数のファイルを ftp(1) や mail(1) を用いて配布する場合に用いられます。

関連ファイル
compress(1), mail(1), tar(1), uuencode(1)

バグ
shar は、特殊な形式のファイルや、特定の文字をサポートするようには出来ていません。 shar コマンドは最後の文字として改行 ('\n') を含まないファイルを扱えません。

shar ファイルにトロイの木馬 (ウイルスの一種) をもぐり込ませることは 簡単に出来ます。 すべてのシェルアーカイブファイルは、 sh(1) を用いて走行させる前に、十分に点検を行なうことを強くおすすめします。 このインプリメントの shar を用いて作成されたアーカイブならは、以下の コマンドで簡単に点検ができます。

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

使用例
プログラム ls(1) のシェルアーカイブを作成して Rick にメールするには以下のようにします:

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

このプログラムを再作成するには以下のようにします:

    mkdir ls
    cd ls
    ...
    <メールのヘッダを削除してアーカイブの検査をします>
    ...
    sh archive

歴史
shar コマンドは 4.4BSD から登場しました。