''' %Id: uux.1,v 1.6 1997/02/22 15:28:53 peter Exp % .\" jpman %Id: uux.1,v 1.2 1997/03/29 11:58:56 horikawa Stab % .TH uux 1 "Taylor UUCP 1.06" .SH 名称 uux \- UUCP を用いて、リモートマシン上でコマンドを実行する .SH 書式 .B uux [ options ] command .SH 解説 リモートシステム上でコマンドを実行する時、 またはリモートシステム上のファイルを用いて、 ローカルシステム上でコマンドを実行する時に .I uux コマンドを用います。 コマンドは即座に実行される訳ではなく、 .I uucico (8) デーモンがシステムを呼び出し、ジョブを実行するまではキューイングされます。 デーモンは、 .B \-r または、 .B \-\-nouucico オプションを指定して本コマンドを実行しない限り、自動的に呼び出されます。 実際のコマンド実行は、 .I uuxqt (8) デーモンが行います。 引数に指定されたファイルは、リモートシステムから実際にコマンド実行を行う システムに集めることができます。 標準入力についても同様です。標準出力は、 リモートシステム上のファイルに出力することができます。 リモートシステムでコマンドを実行する場合は、[システム名] ! の後に、 [コマンド名] を記述します。 システム名が空白の場合には、 ローカルシステム上でのコマンドの実行であるとみなされます。 "!" マークを含む引数は、ファイル名を示しているものとみなされます。 "!" マークの前にはファイルが存在するシステム名を、 後にはファイルへのパス名を記 述します。 システム名が空白の場合には、ローカルシステム上のファイルであるとされます。 この場合、コマンドの実行されるリモートシステムへファイル転送が発生します。 ファイル名が絶対パス名でない場合、 現在のローカルシステム上の作業ディレクトリ名がその前に付加されます。 この場合、リモートシステム上で無効なパスとなってしまうかも知れません。 また、パス名として ~/ が先頭に付加される場合、 これはUUCPパブリックディレクトリ(通常は/usr/spool/uucppublic)からの 相対パスであるとみなされます。一般的に、~name/ で始まるディレクトリは、 ユーザ name のホームディレクトリであるとして処理されます。 標準入出力は普通にリダイレクトされます。パス名の中に "!" を含む時は、 そのファイルがリモートシステム上にあるものとして扱われます。 リダイレクトキャラクタを引数の一部として扱う時には、 シェルに解釈されずに .I uux に渡すことが出来るようにクオートしなくてはなりません。また、追加書き込み のリダイレクション (>>) は使用できません。 指定された全てのファイルは、 コマンド実行前に1つのディレクトリに集められます。 このため、各ファイルは異なるベースネームを持つ必要があります。 例えば .br .in +0.5i .nf uux 'sys1!diff sys2!~user1/foo sys3!~user2/foo >!foo.diff' .fi .in -0.5i は、コマンド実行時に失敗します。なぜなら、sys2 の ~user1/foo と、sys3 の ~usr2/foo の両方のファイルを、 sys1 の同一の名前のファイル foo にコピーするためです。 括弧で囲むことで "!" が解釈されるのをエスケープできます。これは .I uucp コマンドをリモートシステム上で実行する際に有用です。 コマンド名なしで実行(例: .I uux sys!) すると、システム sys の記録ファイル (原文: poll file) を作ります。 .SH オプション 以下のオプションが .I uux で使用可能です。 .TP 5 .B \-, \-p, \-\-stdin 標準入力から読み込んで、それを実行するコマンドの標準入力の内容とします。 .TP 5 .B \-c, \-\-nocopy ローカルファイルをスプールディレクトリにコピーしません。デフォルトはこの 設定です。もし、 .I uucico (8) デーモン実行前にそのローカルファイルが消去されてしまった場合、コピー は失敗します。ファイルは、 .I uucico (8) デーモンと .I uux を起動したユーザの両者から read 可能でなければなりません。 .TP 5 .B \-C, \-\-copy ローカルファイルをスプールディレクトリにコピーします。 .TP 5 .B \-l, \-\-link ローカルファイルをスプールディレクトリの下にハードリンクします。ファイル がスプールディレクトリとは異なる物理デバイス上に存在する場合、 リンクは張れません。この場合、 .B \-c か、 .B \-\-nocopy オプションが指定されていない限り、スプールディレクトリの下に対象ファイル がコピーされます(これは、 .B \-\-link が .B \-\-nocopy のかわりに .B \-\-copy をデフォルト設定すると言うことです)。 ファイルが .I uucico (8) デーモンの処理前に変更された場合、 転送されるファイルは変更後のファイルです。ファイルは、 .I uucico (8) デーモンと、 .I uux を起動したユーザの両者から read 可能でなければなりません。 .TP 5 .B \-g grade, \-\-grade grade ファイル転送の優先度を設定します。高い優先度を持つジョブが先に実行されます。 優先度は、高い方から 0 ... 9 A ... Z a ... z となっています。 .TP 5 .B \-n, \-\-notification=no ジョブの結果を通知するメールを送りません。例えジョブが失敗してもです。 .TP 5 .B \-z, \-\-notification=error エラー発生時に、ジョブの結果についてメールを送ります。 Taylor UUCP .I uuxqt を含む多くの .I uuxqt デーモンでは、これがデフォルトの動作であり、 .B \-\-notification=error は何の効果もありません。しかし、 .B \-\-notification=error オプションを設定していないと、ジョブが成功した場合にメール を送る .I uuxqt デーモンもあれば、 .B \-\-notification=error オプションを指定しないと、ジョブが失敗した時にメールを送ってくれないとい う .I uuxqt デーモンもあります。 .TP 5 .B \-r, \-\-nouucico .I uucico (8) デーモンを即時実行しません。 後で処理されるように要求をキューに貯めるだけです。 .TP 5 .B \-j, \-\-jobid ジョブの id を標準出力に表示します。 ジョブの id は、各ファイルコピー操作が実際に処理を開始するように要求された時、 生成されます。これらのファイルコピー操作は、 .B \-\-kill スイッチとともに .I uustat (1)に ジョブ id を渡すことで取消可能かも知れませんが、 そうするとジョブは完了不能となります。 .TP 5 .B \-a address, \-\-requestor address 指定したE-mailアドレスに対してジョブの結果報告を送ります。 .TP 5 .B \-x type, \-\-debug type 特定のデバッグタイプを指定します。タイプとしては、abnormal, chat, handshake, uucp-proto, proto, port, config, spooldir, execute, incoming, outgoing がありますが、 .I uux では、abnormal, config, spooldir, execute の4つだけが意味を持ちます。 コンマで区切ることで複数のデバッグタイプが指定可能です。そして、 .B \-\-debug オプションは、1回のコマンド起動で複数回指定可能です。 また、タイプとして数字を指定することも可能です。例えば、 .B \-\-debug 2 という指定は、 .B \-\-debug abnormal,chat と同じ意味です。 .TP 5 .B \-I file, \-\-config file 使用する初期設定ファイルの指定を行ないます。 ただし、本オプションが使用可能かどうかは、 .I uux がどのようにコンパイルされたかによります。 .TP 5 .B \-v, \-\-version バージョンを表示し、終了します。 .TP 5 .B \-\-help ヘルプを表示し、終了します。 .SH 使用例 .br .nf uux -z - sys1!rmail user1 .fi コマンド``rmail user1'' を、システム sys1 上で実行します。コマンドへの入力 データは、標準入力が用いられます。ジョブが失敗した場合、 .I mail (1) コマンドによって通知します。 .br .nf uux 'diff -c sys1!~user1/file1 sys2!~user2/file2 >!file.diff' .fi システム sys1 とシステム sys2 上にあるファイルを取得し、 .I diff を実行した上で、カレントディレクトリのファイル file.diff に結果を 出力します。カレントディレクトリは、 .I uuxqt (8) デーモンによって write 可能である必要があります。 .br .nf uux 'sys1!uucp ~user1/file1 (sys2!~user2/file2)' .fi .I uucp を、sys1 上で実行し、sys1 上のファイル file1 を sys2 上にコピーします。 この例では、引数をクオートするために括弧を用いる方法を示しています。 .SH 制限 リモートシステムでは、実行が許可されないコマンドがあるかもしれません。 多くのリモートシステムでは、 .I rmail と .I rnews に限って実行を許可しています。 実行されるかどうかは、リモートシステムの .I uuxqt (8) デーモンに依存するオプションがあります。 .SH 関連ファイル 関連ファイル名は、 コンパイル時の指定ないしは初期設定ファイルにより変化します。 以下に挙げるものは、その一例です。 .br /usr/lib/uucp/config - 初期設定ファイル .br /usr/spool/uucp - UUCP スプールディレクトリ .br /usr/spool/uucp/Log - UUCP ログファイル .br /usr/spool/uucppublic - デフォルトの UUCP パブリックディレクトリ .SH 関連項目 mail(1), uustat(1), uucp(1), uucico(8), uuxqt(8) .SH バグ 複数のシステムにまたがって、ファイル参照をすることは出来ません。 .B \-\-jobid オプションを使うと、ジョブ id が非常に多く出力されてしまいます。 また、リモートファイルを必要とするローカルなコマンドの実行を キャンセルする良い方法は存在しません。 .SH 作者 Ian Lance Taylor (ian@airs.com)