2

我需要编写 ant 脚本来在 linux 中执行一个文件,但在执行文件之前我需要执行 setup 文件。

在腻子中,我曾经使用过类似“../setup”然后是“./executeme”的东西

以同样的方式,我编写了蚂蚁脚本

    <exec dir="${dir}" executable="/bin/sh">
        <arg value=". ./setup"/>
        <arg value="./executeme"/>
    </exec>

但它给出的错误是“/bin/sh: ../setup: No such file or directory”。

也有人可以解释一下执行“./setup”和“../setup”之间的区别吗?

提前致谢。

4

2 回答 2

6

您可以通过创建单行脚本并将其传递给shusing来运行您在交互式会话中使用的命令序列,-c如下所示:

<exec dir="${dir}" executable="/bin/sh">
    <arg value="-c"/>
    <arg value=". ./setup; ./executeme"/>
</exec>

您需要将这两个命令作为 one 传递arg,否则它们的处理方式不同:第一个成为“脚本”,下一个成为该脚本的第一个参数。或者,如果你喜欢,上面相当于运行

sh -c ". ./setup; ./executeme"

而使用单独arg的元素,您正在运行

sh -c ". ./setup" ./executeme

这可能不会失败,除非setup它的参数列表做了一些事情,但它不会运行executeme

于 2012-08-01T06:26:20.017 回答
0
value="./setup"

没有.一开始。

于 2012-07-31T20:32:53.717 回答