【发布时间】:2010-11-15 21:17:29
【问题描述】:
我正在尝试使用 ant 来运行 bash 脚本。
我发现 exec 指令是工作的工具
我创建了一个 bash 脚本 test.sh 在我的蚂蚁目标中我添加了:
<project basedir=".">
<property name="temp.deployment.dir" value="temp_deployment_dir"/>
<property name="temp.dir" value="temp_upload_dir"/>
<property name="src.dir" value="www"/>
<property name="js.dir" value="${src.dir}/public/js"/>
<property name="css.dir" value="${src.dir}/public/css"/>
<property name="img.dir" value="${src.dir}/public/images/"/>
<target name="clean">
<delete dir="${temp.dir}"/>
</target>
<target name="update-statics">
<mkdir dir="${temp.dir}"/>
<!--TODO: add statics in -->
</target>
<target name="deploy">
<mkdir dir="${$temp.deployment.dir}"/>
<copy todir="${temp.deployment.dir}">
<fileset dir="${src.dir}"/>
</copy>
<exec executable="bash" newenvironment="false" dir=".">
<arg value="cmd_update.sh"/>
</exec>
</target>
</project>
我运行它时构建成功,但 test.sh 从未运行。
我已经用谷歌搜索并搜索了我可能做错的地方,但因为没有错误,我在调试它时遇到了麻烦。有谁知道 exec 指令的正确用法,或者我显然做错了什么。据我所知,我的做法与我发现的其他 exec 示例相同。
【问题讨论】:
-
你的 PATH 上有 bash 吗? cmd_update.sh 是否在当前工作目录中?
-
@user508771 一些额外的信息会有所帮助,尤其是运行 `ant deploy.另见meta.stackexchange.com/questions/22754/…