RExec

描述

用于自动化远程 rexec 会话的任务。与 Telnet 任务类似,它使用嵌套的 <read> 来指示要等待的字符串,并使用 <write> 标签来指定要发送到远程进程的文本。

注意:此任务依赖于 Apache Ant 分发版中未包含的外部库。有关更多信息,请参阅 库依赖项

您可以将要执行的命令指定为嵌套元素或通过 command 属性,我们建议您使用 command 属性。如果您使用 command 属性,则还必须使用 usernamepassword 属性。

参数

属性 必需
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"/>