RExec

説明

リモート rexec セッションを自動化するタスク。Telnet タスクと同じように、ネストされた <read> を使って待機する文字列を指定し、<write> タグを使ってリモートプロセスに送信するテキストを指定します。

注意: このタスクは、Apache Ant 配布に含まれない外部ライブラリに依存しています。詳細については、ライブラリ依存関係 を参照してください。

ネストされた要素としてコマンドを指定するか、command 属性を使用してコマンドを実行できます。command 属性を使用することをお勧めします。command 属性を使用する場合は、username 属性と password 属性も使用する必要があります。

パラメータ

属性 必須
userid リモートサーバで使用するログイン ID。 いいえ
password リモートサーバで使用するログインパスワード。 いいえ
server リモート rexec サーバのアドレス。 はい
command リモートサーバで実行するコマンド。 いいえ
port リモート rexec サーバのポート番号。 いいえ; Unix では既定で 512 に設定されます
timeout 応答を待機する既定タイムアウトを秒で設定します。 いいえ; タイムアウトはありません

ネストされた要素として指定されたパラメータ

サーバに送信する入力と待機する応答は、ネストされた要素として記述されます。

read

待機する文字列を(この要素のテキスト子として)宣言します。この要素は、タスク全体に指定されたタイムアウトをオーバーライドする timeout 属性をサポートしています。また、文字列をテキスト要素として指定する代わりとなる string 属性も備えています。

Telnet タスクのように、終了 <read> 要素を宣言する必要はありません。接続は、コマンドが完了して入力ストリーム(コマンドの出力)が終了するまで維持されます。

write

サーバに送信するテキストを記述します。ブール属性 echo は、文字列をローカルログに出力するかどうかを制御します。これは既定では true です。

サーバに接続してコマンドを実行する簡単な例です。

<rexec userid="bob" password="badpass" server="localhost" command="ls"/>

このタスクは他のポートでも使用できます

<rexec port="80" userid="bob" password="badpass" server="localhost" command="ls"/>