是的,可以做到.这是一个简单的例子(你的链接现在不能正常工作......抛出sourceforge错误).基本思想是使用echo任务编写文件,然后使用exec任务运行它:
<property name="myls" value="myls.sh" />
<echo file="${myls}">
ls
</echo>
<exec executable="sh">
<arg value="${myls}"/>
</exec>
Run Code Online (Sandbox Code Playgroud)
运行时提供以下内容,因为工作目录仅包含构建文件和脚本:
Buildfile: build.xml
[exec] build.xml
[exec] myls.sh
Run Code Online (Sandbox Code Playgroud)
这当然是特定于unix的,但是你可以在其他系统上做同样好的事情 - 对于Windows你可以改变cmd我认为的可执行文件.如果需要,您可以进一步将参数传递给新脚本.例如:
<property name="myls" value="myls.sh" />
<echo file="${myls}">
ls $@
</echo>
<exec executable="sh">
<arg value="${myls}"/>
<arg value="b*"/>
</exec>
Run Code Online (Sandbox Code Playgroud)
现在运行时只看到构建文件:
Buildfile: build.xml
[exec] build.xml
Run Code Online (Sandbox Code Playgroud)