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