我必须编写一个Nant脚本,它将在命令行上接受2个参数。第一个只是一个选项,具有以下格式:-myOption。第二个需要用引号括起来:“有些空间值”。
e.g。 -myOption“this value”
我是Nant的新手,所以到目前为止我还没有成功,也不知道如何输出命令进行调试。
这是我到目前为止所做的:
<target name="Build" depends="SetupConfig">
<exec workingdir="${refactory.basedir}" program="${exe.name.mfg.factory}" basedir="${refactory.basedir}" commandline="-myOption:">
<arg>${refactory.clientconfig}</arg>
</exec>
我正在尝试使用“命令行”属性和args嵌套元素创建命令。 args元素应该提供qoutes。
有人可以告诉我这看起来应该怎样?感谢。
答案 0 :(得分:29)
我需要承认,看看你的代码片段,我并不完全清楚你想要实现的目标。
无论如何,这是你将两个参数传递给NAnt脚本的方式(你要求的关于问题标题的内容):
给定具有以下内容的NAnt脚本example.project.build
:
<?xml version="1.0"?>
<project name="example.project" default="example.target" basedir=".">
<target name="example.target">
<echo message="${arg.option}" />
<echo message="${arg.whitespace}" />
</target>
</project>
...你会打电话
nant -buildfile:example.project.build -D:arg.option=foo -D:arg.whitespace="bar and bar"
...执行脚本example.project.build
并将参数arg.option
和arg.whitespace
传递给它。
答案 1 :(得分:2)
试试这个:
<target name="Build" depends="SetupConfig">
<exec workingdir="${refactory.basedir}" program="${exe.name.mfg.factory}" basedir="${refactory.basedir}">
<arg value="-myOption" />
<arg value="${refactory.clientconfig}" />
</exec>
有关详细信息,请查看Nant Exec task documentation。