unshar

shar ファイルからファイルを取り出す

unshar - shar ファイルからファイルを取り出す
unshar [ options ] [ file ... ]
unshar は、メールメッセージをスキャンしてシェルアーカイブのはじまりを探し、 アーカイブの部分を (内部で起動した) シェルにかけて、ファイルを取り出す。 複数のファイルも受け付ける。 ファイルが指定されない場合、標準入力が使われる。
オプションには、- で始まる 1 文字のバージョンと、 -- で始まる長いバージョンがある。 \f2--help\f1, \f2--version\f1 は例外で、 短いバージョンがない。 \f2--version\f1 プログラムのバージョン番号を標準出力に表示し、すぐに終了する。 \f2--help\f1 ヘルプを標準出力に表示し、すぐに終了する。 \f2-d\f1 DIRECTORY \f2--directory=\f1DIRECTORY ファイルを取り出す前に、DIRECTORY に移動する。 \f2-c\f1 \f2--overwrite\f1 shar ファイルへのオプションとして渡される。 (3.40 以降の shar で作られたような) 多くのシェルアーカイブスクリプトは、既存のファイルを上書きするための 引き数 \f2-c\f1 を受け付ける。 \f2-e\f1 \f2--exit-0\f1 このオプションは、多くのシェルアーカイブを 1 つのメールフォルダに 集める人を主な対象として存在する。 このオプションを使うと、`unshar' は 同じフォルダファイルに入れられた各シェルアーカイブを分離し、 フォルダファイルの始めから終りへ順に、 各シェルアーカイブからファイルを取り出していく。 これらの作業が正しく行われるのは、 多くの shar ファイルの最終行の先頭が `exit 0' で終っているからである。
オプション \f2-e\f1 は内部的には \f2-E\f1 exit 0 と同じである。 \f2-E\f1 STRING \f2--split-at=\f1STRING このオプションは \f2-e\f1 と同じように動作するが、 アーカイブの間を隔てる文字列が `exit 0' では不適切な場合に、 文字列を指定できる。
たとえば、多くの (署名ファイル) `.signature' では 署名のすぐ前に `--' があるので、 `exit 0' という行が最後にないシェルアーカイブを分割するために、 `\f2--split-at\f1=--' がよく使われる。 そうすると、署名は次のメッセージのヘッダーとまとめて読み飛ばされる。 \f2-f\f1 \f2--force\f1 \f2-c\f1 と同じ。
シェルからのすべてのメッセージが表示される。
shar と unshar プログラムは多くの著者の協同作品である。 多くの人々が、問題の報告・いろいろな改良の示唆・実際のコードの提供に 貢献してくれた。 これらの人々は sharutils ディストリビューションの THANKS というファイルにリストされている。