リモート rexec セッションを自動化するタスク。Telnet
タスクと同じように、ネストされた <read>
を使って待機する文字列を指定し、<write>
タグを使ってリモートプロセスに送信するテキストを指定します。
注意: このタスクは、Apache Ant 配布に含まれない外部ライブラリに依存しています。詳細については、ライブラリ依存関係 を参照してください。
ネストされた要素としてコマンドを指定するか、command
属性を使用してコマンドを実行できます。command
属性を使用することをお勧めします。command
属性を使用する場合は、username
属性と password
属性も使用する必要があります。
属性 | 値 | 必須 |
---|---|---|
userid | リモートサーバで使用するログイン ID。 | いいえ |
password | リモートサーバで使用するログインパスワード。 | いいえ |
server | リモート rexec サーバのアドレス。 | はい |
command | リモートサーバで実行するコマンド。 | いいえ |
port | リモート rexec サーバのポート番号。 | いいえ; Unix では既定で 512に設定されます |
timeout | 応答を待機する既定タイムアウトを秒で設定します。 | いいえ; タイムアウトはありません |
サーバに送信する入力と待機する応答は、ネストされた要素として記述されます。
待機する文字列を(この要素のテキスト子として)宣言します。この要素は、タスク全体に指定されたタイムアウトをオーバーライドする timeout 属性をサポートしています。また、文字列をテキスト要素として指定する代わりとなる string 属性も備えています。
Telnet
タスクのように、終了 <read>
要素を宣言する必要はありません。接続は、コマンドが完了して入力ストリーム(コマンドの出力)が終了するまで維持されます。
サーバに送信するテキストを記述します。ブール属性 echo は、文字列をローカルログに出力するかどうかを制御します。これは既定では true
です。
サーバに接続してコマンドを実行する簡単な例です。
<rexec userid="bob" password="badpass" server="localhost" command="ls"/>
このタスクは他のポートでも使用できます
<rexec port="80" userid="bob" password="badpass" server="localhost" command="ls"/>