我有一个命令可以接收多次使用的选项,例如
$./myprogram --param a --param b --param c --param d
the input param
a
b
c
d
我想使用Ant <exec>
和ant-contrib
的{{1}}来执行此程序。
而不是循环<for>
,如下所示
<exec>
我尝试循环<for list="a,b,c,d" param="var">
<exec executable="myprogram">
<arg value="--param"/>
<arg path="@{var}"/>
</exec>
</for>
,如下所示
param
但它不起作用。终端返回此消息
<exec executable="myprogram">
<for list="a,b,c,d" param="var">
<arg value="--param"/>
<arg path="@{var}"/>
</for>
</exec>
有没有办法做到这一点?
答案 0 :(得分:0)
我刚从这个question尝试了这个,虽然它比我想象的要长,但它仍然有用
<property name="arg_list" value="a,b,c,d"/>
<resources id="arguments">
<mappedresources>
<string value="${arg_list}" />
<filtermapper>
<replacestring from="," to=" --param "/>
</filtermapper>
</mappedresources>
</resources>
<property name="arguments" value="--param ${toString:arguments}" />
<exec executable="myprogram">
<arg line="${arguments}"/>
</exec>