書式
uuenview [-v] [-a] [-u|-x|-b] [-lines] [-o] [-od path][-m email] [-p newsgroup] [-s subject]
[file(s)]
説明
uuenview はバイナリファイルを ASCII テキストにエンコードする。 これによって 8 ビットでない電子データ通信路(電子メールや usenet 等)を 通してバイナリファイルを送れるようになる。 uuenview は標準の uuencode(1) の機能を全て持ち、かつ完全に後方互換であるが、ずっと使いやすいし柔軟な 機能を持っている。uuenview でエンコードされたファイルは、エンコーディング方法(後述)がリモート側で もサポートされている限り、ほぼどんなデコーダとも互換である。リモート側 が uudeview(1) を使っている場合、問題は全く起こらないはずである。
適切な設定をすれば、 uuenview はエンコードしたデータを直接電子メールで送信したり usenet に投稿する ことができる。このようなメッセージには適切な MIME エンベロープが付けら れるので、受信者が MIME 準拠のメーラやニュースリーダを使っていれば簡単 に扱うことができる。
オプション
- -v
- プログラムが実行しようとしていることを詳しく出力する。
- -u
- エンコード方法として uuencode を選択する。これは uuencode (1) との互換のためにデフォルト値となっている。このエンコーディング方法は、 現在では標準として広く受け入れられている。
- -b
- エンコーディング方法として MIME 規格で決められている Base64 を選択する。将来はこの方法が標準になると思われる。受信者が MIME 準拠の ソフトウェアを使っている場合(後述)にはこのオプションを使うこと。
- -x
- 古いエンコーディング方法である xxencoding を選択する。
-u, -b, -x オプションはどれか 1 つだけを指定できる。
- -行数 行数 の部分には数字を書く。このオプションはエンコードされている行のパートご との最大数を設定する。エンコードされたデータは、自動的に必要な数に分割 される。行数が 200 より小さいと無視される。エンコードして 1000 行とな るデータは uuencode と xxencoding では 45kB であり、Base64 では 57kB である。このオプションが指定されていない場合はパートごとの行数は制限さ れず、パートは 1 つだけとなる。
- -o
- 出力をファイルに書き込むことを指定する。これらのファイルは入力ファイル と同じベース名を持ち、拡張子 .001, .002, ... を持つ。拡張子は -行数 オプションによって必要とされるパート数によって決まる。エンコードされた ファイルはカレントディレクトリに書き込まれる。
- -od パス `-o' と同じであるが、エンコードされたファイルはカレントディレクトリで はなく指定されたディレクトリに書き込まれる。
- -m 電子メールアドレス エンコードしたファイル(複数可)を与えられた電子メールアドレスに送る。 それぞれのファイルは複数のパートに分割されることもある。クォートしたコ ンマ区切りのリストとして、複数の宛先を指定することができる。
- -p ニュースグループ エンコードしたファイル(複数可)を与えられたニュースグループに投稿する。 それぞれのファイルは複数のパートに分割されることもある。クォートしたコ ンマ区切りのリストとして、複数のニューズグループを指定することができる。 ポストの際には inews(1) プログラムが起動される。使用するニュースサーバを環境変数 NNTPSERVER に設定する必要があるかもしれない。
- -s サブジェクト ファイルのメール送信やニュース投稿の際に、このサブジェクトが使用される。 複数の語からなるサブジェクトは必ずクォートすること。ファイル名とパート 番号が自動的にサブジェクト行に追加される。
- -a
- ファイル(複数可)を添付する。この機能はシェルスクリプト等から使われるこ とを想定している。このオプションを指定すると電子メールのメッセージ(ま たは usenet への投稿)が標準入力から読み込まれる。その後、コマンドライ ンで与えられたファイルがメッセージに「添付」される。これは適切な MIME マルチパート形式に変換される。-m または -p パラメータを指定した場合 (この指定はメッセージヘッダの Newsgroup や To の指定を上書きする可能性 がある)を除き、結果は標準出力に書き出される。添付ファイルをエンコード する時には Base64 を使うこと。
- ファイル(複数可) 処理するファイルを 1 つ以上指定する。それぞれのファイルはエンコードさ れた後、オプションに従ってファイルに格納されたり(-o オプション)、メー ルで送信されたり(-m オプション)、ニュースグループに投稿される(-p オ プション)。いずれのオプションも指定されなかった場合には、エンコードさ れたファイルは標準出力に送られる。標準入力から読み込んでファイルをエン コードするにはハイフン 1 つ('-')を用い、次のパラメータとしてエンコー ドされたファイルが使うファイル名を与えること。
注意
標準入力からの読み込みと標準出力への書き出しの際には制限が加えられる。- 1.
- 標準入力から読み込んだファイルは 1 度しか使えない。つまり、-o, -m, -p オプションは全く使わないか 1 つしか使わないかのどちらかである。
- 2.
- 標準出力への書き出しでは、複数パートへの分割は行えない。また、この場合 には -行数 オプションは無視される。
メール送信やニュース投稿を自動的に行わせるには、 uuenview をコンパイル時に正しく設定しなければならない。うまく動作しない場合には、 システム管理者に相談すること。ニュースの投稿に使われるプログラムは、環 境変数 INEWS を使って実行時に設定することができる。この設定はコンパイル時の設定より も優先される。
Base64 は MIME ではない。Base64 は MIME 規格で決められているエンコーディ ングであるが、あるメッセージを正しい MIME メッセージにするためにはヘッ ダをたくさん付ける必要がある。 このようなヘッダはメール送信やニュース投稿の際に uuenview が生成するが、ローカルファイルへの書き込みの時には生成は行われない。と いうのも、この場合にはヘッダを制御する必要がないからである。Base64 の 出力をそのままの形でメッセージに入れた場合、このメッセージは MIME 準拠 では ない ! したがって、このような場合には uuencode を使うこと。
このプログラムの名前を変えたり、コピーしたり、リンクをすることによって uuencode にした場合、このプログラムは標準の uuencode の高性能な代用プログラムとして動作し、同じコマンドラインオプションを受 け付ける。ただし、テストはまだ十分でない。
例
- uuenview -m 'root,[email protected]' uudeview.tgz
- ファイル uudeview.tgz をエンコードし、これをローカルのシステム管理者とどこかの会社にいる友人 Fred の両方にメールで送信する。
複数のファイル名をコマンドラインで与えた場合、それぞれのファイルは通常、 別々に処理される。これを回避するには、全てのファイルを 1 つ(あるいは空 の)メールに添付すること。
- uuenview -m root -b -a file1 file2 < /dev/null
- 空のメールを生成し、これに指定されたファイル 2 つを添付(Base64 形式で エンコード)し、さらにその結果をシステム管理者にメールで送る。
バグ
メール送信やニュース投稿の際にエラー状態を検出することができない。
添付が信頼できる動作をするのは、入力メッセージの特定のヘッダ(例えば Content-Type )が折り返されておらず、かつ 1024 文字未満の場合だけである。
まだ BinHex をエンコードすることができない。