uux(1) | General Commands Manual | uux(1) |
uux - UUCP を用いて、リモートマシン上でコマンドを実行する
uux [ options ] command
uux コマンドは、リモートマシン上でコマンドを実行する場合や、 リモートシステム上のファイルを用いてローカルシステム上でコマンドを実行する ために用いられます。 コマンドは、即座に実行されるわけではなく、 uucico (8) デーモンが他のシステムを呼び出してジョブを実行するまでは、キューイング されます。デーモンは、 -r または --nouucico オプションを指定して本コマンドを実行しない限りは、自動的に走り出します。
実際にコマンドを実行するのは、 uuxqt (8) デーモンです。
引数に指定されたファイルは、リモートシステムから、実際にコマンド実行を行う システムに集められます。標準入力についても同様です。 標準出力は、リモートシステム上のファイルに出力されます。
リモートシステム上でコマンド実行をする場合は、 コマンド名の前に、システム名と "!" マークをつけます。 システム名がない場合には、ローカルシステム上でのコマンド実行であると みなされます。
"!" マークを含む各引数は、ファイル名であるとみなされます。 "!" マークの前はファイルが存在するシステム名を、後にはファイルへのパス名を 記述します。 システム名がない場合には、ローカルシステム上のファイルであるとみなされます。 この場合、コマンドの実行されるリモートシステムへファイル転送が発生します。 パスが絶対パスでない場合、現在のローカルシステム上の作業ディレクトリ名が そのパス名の前に付加されます。 この場合、リモートシステム上で無効なパスとなってしまうかも知れません。 また、パス名として ~/ が先頭に付加されている場合、 これは UUCP パブリックディレクトリ (通常は /usr/spool/uucppublic) からの相対パスであるとみなされます。一般的に、~name で始まるディレクトリは、 その名前のユーザのホームディレクトリからの相対パスであるとみなされます。
標準入出力は、普通にリダイレクトされます。パス名の中に "!" を含む場合は、 そのファイルはリモートシステム上にあるものとして扱われます。 リダイレクトキャラクタを使う場合には、シェルで解釈されずに uux に渡されるように、クォートしなくてはなりません。また、追加書き込み のリダイレクション (>>) は使用できません。
指定された全てのファイルは、コマンド実行前に、1つのディレクトリに
集められます。これは、各ファイルは異なるベースネームを持つ必要がある
ということを意味します。例えば、
uux 'sys1!diff sys2!~user1/foo sys3!~user2/foo >!foo.diff'
引数を括弧で括ることで "!" が解釈されるのを防ぐことができます。これは、 uucp コマンドをリモートシステム上で実行する際に有用です。
コマンド名なしの実行要求 (例えば uux sys! ) は、指定したシステム用の poll ファイルを作成します。
以下のオプションが uux で使用可能です。
uux -z - sys1!rmail user1
コマンド``rmail user1'' を、システム sys1 上で実行します。コマンドへの入力 データは、標準入力が用いられます。ジョブが失敗した場合、 mail (1) コマンドによってメッセージが送られてきます。
uux 'diff -c sys1!~user1/file1 sys2!~user2/file2 >!file.diff'システム sys1 とシステム sys2 上にあるファイルを取得し、 diff を実行した上で、カレントディレクトリのファイル file.diff に結果を 格納します。これがきちんと働くためには、カレントディレクトリが uuxqt (8) デーモンによって書き込める状態でなければなりません。
uux 'sys1!uucp ~user1/file1 (sys2!~user2/file2)'uucp を sys1 上で実行し、sys1 上のファイル file1 を sys2 上にコピーします。 この例では、クォート用の括弧の使い方を示してあります。
リモートシステムでは、実行が許可されていないコマンドがあるかもしれません。 多くのリモートシステムでは、 rmail と rnews しか実行を許可していません。
オプションのうちいくつかは、リモートシステム上の uuxqt (8) デーモンの能力に依存します。
これらのファイル名は、コンパイル時もしくはコンフィギュレーションファイル で変更されうるため、一例にすぎません。
/usr/lib/uucp/config -
初期化ファイル
/usr/spool/uucp - UUCP
スプールディレクトリ
/usr/spool/uucp/Log - UUCP ログファイル
/usr/spool/uucppublic - デフォルトの UUCP
パブリックディレクトリ
mail(1), uustat(1), uucp(1), uucico(8), uuxqt(8)
複数のシステムにまたがって、ファイル参照をすることはできません。
--jobid オプションを使うと、ジョブ id が非常に多く出力されてしまいます。また、 リモートファイルを必要とするローカル実行要求をキャンセルする良い方法は 存在しません。
Ian Lance Taylor (ian@airs.com)
Taylor UUCP 1.06 |