【发布时间】:2015-08-25 02:41:23
【问题描述】:
这是我的 build.xml 的 sn-p
<target name="compile">
<for param="rsync.destination.host" list="${file}" delimiter="${line.separator}">
<sequential>
<echo message="${rsync.ssh.user}@@{rsync.destination.host}:${rsync.destination.base.dir}/"/>
</sequential>
</for>
</target>
我收到以下输出,
compile:
[echo] root@{rsync.destination.host}:/tmp/
[echo] root@{rsync.destination.host}:/tmp/
BUILD SUCCESSFUL
Total time: 0 seconds
所以这里@{rsync.destination.host} 变量因为双@@ 字符而没有被解释。如果我在它们之间放置空间
<echo message="${rsync.ssh.user}@ @{rsync.destination.host}:${rsync.destination.base.dir}/"/>
然后变量按预期解析。
compile:
[echo] root@ server1:/tmp/
[echo] root@ server2:/tmp/
BUILD SUCCESSFUL
Total time: 0 seconds
由于用户名和服务器中有空格,如果我们在这里执行 ssh 会出现异常。知道如何解决这个问题。
【问题讨论】:
标签: ant ant-contrib