什么“-c”在ant exec任务中意味着什么?

时间:2014-06-11 07:54:53

标签: ant

这是两个蚂蚁任务:

 <target name="hg.add" >
    <exec dir="." executable="hg">
        <arg line="add ${reports-summary}" />
    </exec>
</target>


<target name="hg.add">
      <exec executable="/bin/sh">
            <arg value="-c"/>
            <arg value="hg add ${reports-summary}"/>
      </exec>
</target>

这两个任务似乎具有相同的功能。但为什么第二个需要写“/ bin / sh”和“-c”?

1 个答案:

答案 0 :(得分:2)

-c只是可执行文件的一个参数,它对ant exec任务没有任何特殊意义。

第一个目标是直接运行hg可执行文件。

第二个目标是运行Linux / Unix shell命令(/bin/sh)并向其传递-c参数,该参数告诉shell执行下一个参数中给出的命令。因此,这将运行与第一个目标相同的命令,但shell命令可能会在运行命令之前设置环境变量等内容。

相关问题