EN JA
RSH(1)
RSH(1) FreeBSD General Commands Manual RSH(1)

名称

rshリモートマシン上でコマンドを実行する

書式

rsh [ -46dn][ -l username][ -t timeout] host [ command]

解説

rsh ユーティリティは、 host で指定したホスト上で、 command で指定したコマンドを実行します。

rsh ユーティリティは、標準入力をリモートコマンドにコピーし、リモートコマンドの標準出力を標準出力に、リモートコマンドの標準エラーを標準エラーにコピーします。 SIGINT, SIGQUIT, SIGTERM の各シグナルに関しては、リモートコマンドに対して通知されます。 rsh は、リモートコマンドが正常終了した場合には正常終了します。本コマンドは、以下のオプションが使用可能です。

-4
IPv4 アドレスのみを使用します。
-6
IPv6 アドレスのみを使用します。
-d
setsockopt(2) を用いて、リモートホストとの通信に用いられる TCP ソケットのデバッグを有効にします。
-l username
リモートの username を指定可能です。デフォルトでは、ローカルユーザ名とリモートホスト上のユーザ名は同じです。ユーザ認証は rlogin(1) と同様の仕組みです。
-n
入力を、特殊デバイス /dev/null に向け直します。 ( バグ の項を参照してください)。
-t timeout
(秒で表現される) timeout を指定します。この時間の間、データが送られも受け取りもされない場合、 rsh は終了します。

command が指定されない場合には、ユーザは rlogin(1) を用いてリモートホストにログインします。

クォートされていないシェルのメタキャラクタについては、ローカルマシン上で解釈され、クォートされているメタキャラクタはリモートホスト上で解釈されます。例えば、

rsh otherhost cat remotefile >> localfile

については、リモートマシン上のファイル remotefile を、ローカルマシン上のファイル localfile に追加します。一方

rsh otherhost cat remotefile ">>" other_remotefile

については、リモートマシン上の remotefileother_remotefile に追加します。

関連ファイル

/etc/hosts

歴史

rsh コマンドは、 4.2BSD で登場しました。

バグ

csh(1) を用いて rsh を標準入力からのリダイレクトなしにバックグラウンドで実行する場合、たとえリモートコマンドの入力がなくても (必ず) ブロックされるでしょう。リダイレクトで rsh に入力を渡す必要がなければ、 -n オプションを用いてリモートコマンドの入力元を /dev/null に切り替えてください。

rsh を用いて、 ee(1)vi(1) のような会話的コマンドを実行することはできません。代わりに rlogin(1) を使用してください。

SIGSTOP は、ローカルマシンの rsh プロセスを停止させるだけです。これはおそらく良くない動作です。しかし、これを直すことは、現時点では困難です。ここでその理由を説明するにはあまりに複雑なので、理由については割愛します。

October 16, 2002 FreeBSD