如何将这个 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>
战争,耳朵和罐子只是zip文件。 您可以使用解压缩任务将其打开。您需要将示例中的 unix 命令分解为多个任务。
管道由 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>
可能是 你可以做这样的事情,只是为了确保你在Unix OS上运行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>