Provided by: manpages-ja_0.5.0.0.20180315+dfsg-1_all bug

名前

       shar - シェルアーカイブを作成する

書式

       shar [ options ] file ...
       shar -S [ options ]

説明

       shar は「シェルアーカイブ (shar ファイル)」を作成する。 これはテキスト形式なので、メールで
       送ることができる。 これらのファイルをほどくには、 /bin/sh を使って実行すればよい。  作成さ
       れたアーカイブは、-o オプションで指示されない限り、 標準出力に送られる。 shar には様々な機
       能があるので、 shar ファイルの作成や shar の「賢さ (smartness)」の指定は、非常に柔軟に行う
       ことができる。 アーカイブは、「簡潔 (vanilla)」にも詳細にもできる。

オプション

       オプションには、-   で始まる   1  文字のバージョンと、  --  で始まる長いバージョンがある。
       --help, --version, --no-i18n, --print-text-domain-dir は例外で、 短いバージョンがない。 長
       いオプションに必須の引き数は、短いオプションでも必須である。  オプションはどのような順番で
       も与えることができる。 互いに依存しているオプションもある。たとえば、
            -l-L オプションを使う場合、-o オプションが必要である。
            -a オプションを使う場合、-n オプションが必要である。
            下記の -V オプションも参照すること。

   フィードバックを与える:
       --help ヘルプを標準出力に表示し、すぐに終了する。

       --version
              プログラムのバージョン番号を標準出力に表示し、すぐに終了する。

       -q --quiet --silent
              アーカイブを作成するとき、詳細なメッセージを出力しない。

   ファイルの選択:
       -p  --intermix-type
              指定位置に依存するパラメーターオプションの使用を許す。 -B, -T, -z, -Z  オプションを
              (ファイルリストに)  入れてよい。 このオプションの後ろのファイルはすべて、指示された
              モードで処理される。

       -S  --stdin-file-list
              コマンドラインからではなく、標準入力からパックするファイルの一覧を読み込む。 入力は
              find コマンドで生成される形式と同じく、 1 行に 1 つのファイル名でなければならない。
              パックするファイルの一覧をコマンドラインに書けない場合に、 このオプションは非常に役
              立つ。たとえば、

              find . -type f -print | sort | shar -S -Z -L50 -o /tmp/big

              -p  が指定された場合、 -B, -T, -z, -Z オプションを 標準入力に入れることができる (行
              はファイル名で区切られる)。 標準入力の行数、ファイル名、オプションは最大 1024  を越
              えてはならない。

   出力の分割:
       -o XXX  --output-prefix=XXX
              アーカイブを標準出力に送らず、ファイル XXX.01 から XXX.nn に保存する。 -l または -L
              オプションを使う場合、 このオプションを使うこと。

       -l XX  --whole-size-limit=XX
              出力ファイルのサイズを XX キロバイトに制限しようとする  (このサイズより小さくなる場
              合は、  複数の入力ファイルをまとめた出力ファイルを作成する)。  しかし、(1  つの入力
              ファイルをアーカイブしたサイズが これより大きくなる場合でも) 入力ファイルを途中で分
              割しない。

       -L XX  --split-size-limit=XX
              出力ファイルのサイズを XX キロバイトに制限し、必要ならば分割する。 このオプションで
              作られた、分割形式のアーカイブファイルは、 正しい順番でファイルを取り出さなければな
              らない。

   shar ヘッダーの制御:
       -n name  --archive-name=name
              shar ファイルのヘッダーにアーカイブ名を入れる。 -a オプションを参照すること。

       -s who@where  --submitter=who@where
              自動的に決定される作成者名を上書きする。

       -a  --net-headers
              次のようなヘッダーを自動生成する。
                   Submitted-by: who@where
                   Archive-name: <name>/part##
              <name>  は  -n  オプションで指示しなければならない。  name  に '/' が含まれている場
              合、"/part" は使われない。つまり、

                 -n xyzzy                      の場合:
                                               xyzzy/part01
                                               xyzzy/part02

                 -n xyzzy/patch                の場合:
                                               xyzzy/patch01
                                               xyzzy/patch02

                 -n xyzzy/patch01.             の場合:
                                               xyzzy/patch01.01
                                               xyzzy/patch01.02

              who@where  がデフォルトでは不適切な場合、-s  オプションを使って明示的に宣言できる。
              who@where は本来 `whoami`@`uname` で作られる。

       -c  --cut-mark
              shar ファイルを cut line で始める。'Cut here' と書かれた行が、 各出力ファイルの先頭
              に置かれる。

   ファイルの格納法の選択:
       -M  --mixed-uuencode
              混合モード。ファイルがテキストなのかバイナリなのかを決定し、 正しくアーカイブを作る
              (デフォルトである)。 バイナリであるとわかったファイルは、パックする前に uuencode さ
              れる (ネットワーク上の多くの人に、uuencode の使用は煙たがられる)。

       -T  --text-files
              すべてのファイルをテキストとして扱う。

       -B  --uuencode
              すべてのファイルをバイナリとして扱い、パックする前に uuencode する。 このオプション
              は、アーカイブのサイズを増大させる。 受信者は、ファイルを取り出すために uudecode を
              持っていなければならない  (ネットワーク上の多くの人に、uuencode  の使用は煙たがられ
              る)。

       -z  --gzip
              パックする前に、すべてのファイルを gzip して uuencode する。 受信者は、ファイルを取
              り出すために uudecode と gzip を持っていなければならない  (ネットワーク上の多くの人
              に、uuencode と gzip の 使用は煙たがられる)。

       -g LEVEL  --level-for-gzip=LEVEL
              圧縮するとき、'-LEVEL'  を  gzip のパラメーターとして使う。 デフォルトは 9 である。
              -g オプションは、デフォルトで -z オプションをオンにする。

       -Z  --compress
              パックする前に、すべてのファイルを compress して uuencode する。 受信者は、ファイル
              を取り出すために  uudecode と compress を持っていなければならない (ネットワーク上の
              多くの人に、uuencode と compress の 使用は煙たがられる)。 -C オプションは、-Z  と同
              義であるが、推奨されない。

       -b BITS  --bits-per-code=BITS
              圧縮するとき、'-bBITS'  を  compress のパラメーターとして使う。 -B オプションは、デ
              フォルトで -Z オプションをオンにする。 デフォルトの値は 12 である。

   転送エラーに対する保護:
       -w  --no-character-count
              ファイルを取り出すした後、'wc -c' を使って各ファイルをチェックしない。 デフォルトで
              はチェックする。

       -D  --no-md5-digest
              取り出したファイルを検査するために  'md5sum'  ダイジェストを使わない。 デフォルトで
              は、チェックする。

       -F  --force-prefix
              必要がない場合でも、強制的にプレフィックス文字 (-d  オプションの引き数が  'X'  で始
              まっていない限り、通常は  'X') を すべての行の行頭におく。 特に -B-Z が使われる
              場合、 このオプションはアーカイブのサイズを少し増加させる。

       -d XXX  --here-delimiter=XXX
              SHAR_EOF のかわりに XXX を shar アーカイブの中のファイルの境界に使う。 このオプショ
              ンは、shar ファイルをその人独自のものにしたい人のためにある。

   何種類かの shar ファイルの作成:
       -V  --vanilla-operation
              unshar  をする環境に  sed と echo だけがあれば良いような、 「簡潔な (vanilla)」shar
              ファイルを生成する。 さらに、-x オプションを使わないときは、 "if test" をサポートし
              なければならない。  -V オプションは、"network cop" (または、"brown shirt" (訳註:や
              たらと検閲したがる人))  が  不快に感じるオプションを暗黙のうちに不可にする。   しか
              し、-B,  -z,  -Z, -p, -M オプションと同時に指定されると、警告を発する (これらのオプ
              ションは、unshar をする環境に uudecode, gzip, compress を必要とする)。

       -P  --no-piping
              shar ファイル (の展開) にパイプではなく一時ファイルを使う。

       -x  --no-check-existing
              チェックせずに、既に存在するファイルを上書きする。 -x-X  も指定されない場合は、
              アーカイブからファイルを取り出すときに、 既に存在するファイルをチェックして上書きし
              ない。 ファイルを取り出すとき、

                 sh archive -c

              というように、-c がスクリプトへの引き数として渡されると、  既に存在するファイルが無
              条件に上書きされる。

       -X  --query-user
              ファイルを取り出すとき、ファイルの上書きをユーザーに対話的に尋ねる。  (ネットワーク
              上に送信する shar ファイルに使ってはならない)。

       -m  --no-timestamp
              アーカイブからファイルを取り出すときに 'touch' コマンドを生成しない。  ファイル修正
              日時は復元されない。

       -Q  --quiet-unshar
              詳細出力をしない。   ファイルを取り出すときに出力されるコメントをアーカイブに含めな
              い。

       -f  --basename
              パスを考慮せず、ファイル名だけで復元をする。 このオプションはファイル名だけが使われ
              るようにする。 shar ファイルが複数のディレクトリから作られる場合に役立つ。 ディレク
              トリ名が shar に渡される場合、 -f オプションが指定されているかどうかに関係なく、 そ
              のディレクトリ以下の階層は復元されることに注意すること。

   国際化:
       --no-i18n
              国際化されたシェルアーカイブを作らず、デフォルトの英語メッセージを使う。  shar は通
              常、 アーカイブからファイルを取り出すときに (環境変数  LANG/LC_MESSAGES  で決定され
              る)  その人の好みの言語で メッセージを出力することができるアーカイブを作る。 ファイ
              ルを取り出すとき、その人の言語のメッセージファイルがない場合は、 メッセージは英語に
              なる。

       --print-text-domain-dir
              shar  がいろいろな言語のメッセージファイルを見つけるための ディレクトリを表示し、す
              ぐに終了する。

       shar *.c > cprog.shar                # すべての C プログラムソース
       shar -Q *.[ch] > cprog.shar          # 詳細出力なし。.c と .h ファイル
       shar -B -l28 -oarc.sh *.arc          # すべてのバイナリ .arc ファイルを、
                                            # ファイル arc.sh.01 - arc.sh.NN へ
       shar -f /lcl/src/u*.c > u.sh         # ファイル名のみを使用

警告

       ファイルを取り出すとき作られるディレクトリに対して、 chmod と  touch  が起動されることはな
       い。 よって、ディレクトリを shar でパックすると、 取り出されたディレクトリのアクセス権・修
       正日時は、 元のディレクトリのものと一致しない。

       shar にディレクトリを渡すと、 ディレクトリは 2 回以上スキャンされる。 よって、shar  が動作
       している間にディレクトリを変更しないように 注意しなければならない。

       出力ファイルが入力ファイルに含まれないように注意すること。 さもないと、shar はディスクが溢
       れるまでループする。 特に、shar にディレクトリを渡すときは、  出力ファイルをそのディレクト
       リ (もしくはそのサブディレクトリ) に 置かないように注意すること。

       -B, -z, -Z, 特に -M を使うと、 ファイル数に応じてアーカイブプロセスが非常に遅くなる。

       -X  オプションを使うと、多くの  unshar  プロセスで  \[u9593]違いなく 問題を引き起こす shar
       ファイルが作られる。  この機能を使うのは、合意の取れた集団内で受け渡されるアーカイブのみに
       すること。  もちろん、-X は Usenet に発信される シェルアーカイブのためのものではない。 -B,
       -z, -Z をネットワーク上の shar ファイルに使うと、 非常に非難されるだろう。 -m-F を使わ
       ない場合も、時々苦情を言われるだろう。

関連項目

       unshar(1)

返り値

       不正なオプション・矛盾するオプション、  一般でないファイル・見つからないファイル・アクセス
       できないファイル、 (有り得ない) メモリ割り当ての失敗、に対するエラーメッセージ。

著者

       shar と unshar プログラムは多くの著者の協同作品である。 多くの人々が、問題の報告・いろいろ
       な改良の示唆・実際のコードの提供に  貢献してくれた。  これらの人々は  sharutils ディストリ
       ビューションの THANKS というファイルにリストされている。

                                        September 10, 1995                                SHAR(1)