rexec - コマンド (プログラム) の説明 - Linux コマンド集 一覧表
名前
rexec -- exec サーバのためのリモート実行クライアント
書式
rexec [ -a -c -d -h -n -s ] [--] host command
説明
rexec は、リモートホスト上の rexecd(8) サーバのクライアントとして動作するために rexec(3) ルーチンを呼び出す。
このプログラムは、ユーザー名とパスワードによる認証を使い、 ホスト計算機上で ``command'' を実行するように要求する。 プロトコルの詳細は rexec(3) と rexecd(8) を参照すること。
オプション
rexec は以下のオプションを受け付ける。
-a
コマンドからの標準エラーに対して補助的な (auxiliary) チャンネルを設定しない。
つまり、リモートの標準エラーと標準出力の両方がローカルの標準出力に返される。
デフォルトでは、
rexec
はリモートコマンドからの対話出力に対して
別々のチャンネルを設定するように要求する。
-c
ローカルの標準入力が閉じられた場合でも、リモートの標準入力を閉じない。
通常、ローカルの標準入力が閉じられた場合は、リモートの標準入力も閉じられる。
-d
デバッグ情報を表示する。
特に、リモートホストに送られたコマンドはエコーされる。
-h
使用法についてのメッセージを表示する。
-n
明示的にユーザー名とパスワードを要求する。
このオプションが指定されない場合、
ログイン情報として $HOME/.netrc を調べる。
-s
リモートプロセスに対して rexec が受け付けたシグナルを送らない。
通常、捕捉されたシグナルはリモートプロセスに渡される。
これにより、CNTRL-C を入力した場合にリモートプロセスも終了する。
--
rexec
が ``command'' のオプションに切り替えるためのオプション終了の印。
とても役立つオプションは -n だけである。 $HOME/.netrc にパスワードを設定していない場合でも、 パスワードを要求するプロンプトを出してくれる。
例
rexec othermachine -- cat ">remote_file; date" <local_file
この例では、ローカルのファイル local_file を
別の計算機 othermachine 上に remote_file という名前で書き出している。
バグ
シグナルをローカルで受け取った場合、 そのシグナルはブロック I/O を使ってリモートコマンドに渡される。 シグナルが 1 バイトであっても、通信が遅い場合には ローカルコマンドを終了するのが遅れる。 さらに、シグナルがローカルの rexec 手続きに残ったままになり、 シグナルが送られた後に リモートコマンドがユーザー入力を受け付けられなくなる場合もある。
リモートコマンドにオプションを渡すのに、クォートするのではなく、 ``--'' フラグを使わなくてはならない点が面倒である。 これは GNU の getopt(3) ルーチンが呼ばれるためである。 この動作は、環境変数 POSIXLY_CORRECT を設定することで修正される。
バグ報告とシステム間の非互換性に関しては、著者に連絡して下さい。
関連項目
rexec(3), rexecd(8)
著者
Michael Sadd
sadd@msc.cornell.edu
http://www.msc.cornell.edu/~sadd/