【发布时间】:2012-08-07 06:17:45
【问题描述】:
我只使用apache-ant 而不是 ant-contrib
我有一个ant 目标
<target name="stop" depends="init" >
...
</target>
我想在其中调用exec 任务。
如果变量HOST_NAME的值为all
<exec executable="${executeSSH.shell}" >
<arg value="-h ${HOST_NAME}" />
<arg value="-i ${INSTANCE}" />
<arg value="-w 10" />
<arg value="-e ${myOperation.shell} " />
<arg value=" -- " />
<arg value="${INSTANCE} ${USERNAME} ${PASSWORD}" />
</exec>
如果变量HOST_NAME的值为anything else
<exec executable="${executeSSH.shell}">
<arg value="-h ${HOST_NAME}" />
<arg value="-i ${INSTANCE}" />
<arg value="-e ${myOperation.shell} " />
<arg value=" -- " />
<arg value="${INSTANCE} ${USERNAME} ${PASSWORD}" />
</exec>
但我只想写一个任务,不再重复exec。我已经使用了HOST_NAME 参数,但是第二个参数-w 10 在两个调用中都不同。
我通过使用condition 和if else 搜索SO 尝试了几种方法,但似乎没有任何方法适用于exec 或arg。
【问题讨论】:
标签: apache ant if-statement exec