gpt4 book ai didi

java - 从 Ant 运行 bash 脚本并向其传递多个参数

转载 作者:行者123 更新时间:2023-12-04 05:13:20 25 4
gpt4 key购买 nike

我正在尝试从 Ant 构建文件运行以下命令:

sh /home/myuser/scripts/run.sh -p=8888 -z=true /home/myuser/resources/mydir

到目前为止,这是我最好的尝试:
<target name="run">
<exec executable="/bin/bash">
<arg line="/home/myuser/scripts/run.sh"/>
<arg line="-p=8888"/>
<arg line="-z=true"/>
<arg line="/home/myuser/resources/mydir"/>
</exec>
</target>

当我运行它时,我没有得到任何 Ant 输出,除了 BUILD SUCCESSFUL消息。但是,从终端运行此脚本会产生大量输出。我不确定我是否设置了 <exec/>任务正确,或者如何开始调试。提前致谢。

更新 当我在详细模式下运行 ant 时,我得到以下输出:
[exec] Current OS is Linux
[exec] Executing '/bin/bash' with arguments:
[exec] '/home/myuser/scripts/run.sh'
[exec] '-p=8888'
[exec] '-z=true'
[exec] '/home/myuser/resources/mydir'
[exec]
[exec] The ' characters around the executable and arguments are
[exec] not part of the command.
[exec] Usage: <run> [options] <your dir>

所以看起来 Ant 在我的参数周围插入单引号。有什么办法可以禁用这种行为?

最佳答案

我建议您尝试在详细模式下使用 Ant 运行任务 - 例如通过传递 -v在 Ant 命令行上。然后您应该看到 Ant 如何将上述任务格式化为命令行。

我注意到您引用的命令适用于 Bourne shell sh , 但在你的 exec 任务中你正在运行 bash - 这可能是造成差异的原因吗?

关于java - 从 Ant 运行 bash 脚本并向其传递多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14616447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com