将变量传递给ANT中的sshexec命令资源文件

时间:2017-03-22 14:23:55

标签: unix ssh ant build

我已经创建了一个大型脚本,可以传递给ant中的sshexec commandResource,如下所示。

<sshexec host="${host.server}"
username="${username}"
password="${oracle.password}"
commandResource="path-to-file/script.txt"
/>

这是按预期工作的。 在该脚本中有几行将在服务器上执行。 script.txt文件的内容如下:

/script/compile_objects.sh /path-to-code/ login password
/script/compile_code.sh /path-to-code/ login password

但是,我宁愿不将登录名和密码作为明文存储在script.txt文件中。是否可以将参数传递给命令资源的每一行。我知道命令资源文件中的每一行都在自己的shell中执行。

我尝试从Ant脚本中的属性替换字符串,但它失败了,因为这样的替换错误。还有另一种方法吗?

<property name="oracle.password" value="thepassword"/>

然后在脚本文件中,改为:

/script/compile_objects.sh /path-to-code/ login ${oracle.password}
/script/compile_code.sh /path-to-code/ login ${oracle.password}

此类替换在使用命令功能时有效,但在使用commandResource时似乎失败。

编辑: 我正在使用Apache Ant 1.9.4 和jsch-0.1.54.jar

0 个答案:

没有答案