## RExec

### Description

Task to automate a remote rexec session. Just like the Telnet task, it uses nested `<read>` to indicate strings to wait for, and `<write>` tags to specify text to send to the remote process.

Note: This task depends on external libraries not included in the Ant distribution. See Library Dependencies for more information.

### Parameters

Attribute | Values | Required
--- | --- | ---
userid | the login id to use on the remote server. | Yes
password | the login password to use on the remote server. | Yes
server | the address of the remote rexec server. | Yes
command | the command to execute on the remote server. | Yes
port | the port number of the remote rexec server. Defaults to port 512 in BSD Unix systems. | No
timeout | set a default timeout to wait for a response. Specified in seconds. Default is no timeout. | No

### Nested Elements

The input to send to the server, and responses to wait for, are described as nested elements.

#### read

declare (as a text child of this element) a string to wait for. The element supports the timeout attribute, which overrides any timeout specified for the task as a whole. It also has a `string` attribute, which is an alternative to specifying the string as a text element.

It is not necessary to declare a closing `<read>` element like for the Telnet task. The connection is not broken until the command has completed and the input stream (output of the command) is terminated.

#### write

describes the text to send to the server. The `echo` boolean attribute controls whether the string is echoed to the local log; this is "true" by default

### Example

A simple example of connecting to a server and running a command.

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

The task can be used with other ports as well:

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

Copyright © 2003-2004 The Apache Software Foundation. All rights Reserved.