如何将这个unix命令放在ant脚本中?
jar -xvf test.ear out.war | jar -x ; cd directory ; jar -xvf ../out.war
这会有用吗?
<target name="unear">
<echo>***Un-tarring***</echo>
<exec executable="jar" outputproperty="noOfFiles">
<arg value="-xvf" />
<arg value="test.ear out.war" />
<arg value="|" />
<arg value="jar" />
<arg value="-x" />
<arg value=";" />
<arg value="cd directory" />
<arg value=";" />
<arg value="jar" />
<arg value="-xvf" />
<arg value="../out.war" />
</exec>
</target>
答案 0 :(得分:2)
答案 1 :(得分:1)
管道由shell解释,因此让shell解释它们。说:
<exec executable="sh">
<arg value="-c"/>
<arg value="jar -xvf test.ear out.war | jar -x ; cd directory ; jar -xvf ../out.war"/>
</exec>
答案 2 :(得分:0)
可能是你可以做这样的事情,只是为了确保你在Unix操作系统上运行unix命令。你可以通过在脚本中包装来运行任何一组unix命令:
<condition property="is.unix">
<os family="unix"/>
</condition>
<if>
<istrue value="${is.unix}"/>
<then>
<chmod file="${script.locater.path}/your_script.ksh" perm="755"/>
<exec executable="${script.locater.path}/your_script.ksh"
dir="${from.dir.you.want.to.execute}">
</exec>