用于自动化远程 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"/>