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.


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.


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.


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


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

<rexec userid="bob" password="badpass" server="localhost" 

The task can be used with other ports as well:

<rexec port="80" userid="bob" password="badpass" server="localhost" 

Source: Apache Ant