首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在模板中使用fmpp命令行参数

在模板中使用fmpp命令行参数
EN

Stack Overflow用户
提问于 2018-05-02 15:59:56
回答 1查看 299关注 0票数 0

我有一些配置模板,它们使用FMPP根据csv和属性文件(在config.fmpp中定义)中的信息生成真正的运行时配置文件。

我希望能够使用相同的模板和config.fmpp信息为同一任务配置第二个集群服务器。但是,在生成的运行时配置中有一些细微的差异,如果我知道我在哪个服务器实例("serverA“或"serverB")上使用${myserver}这样的标准fmpp变量,我就可以这样做。

但是必须只有一组模板和FMPP配置文件,所以我需要从每个服务器的运行时环境中获得"myserver“的值。

我可能有以下几种选择:

  • 在命令行工具调用中传递myserver的值(最佳方式);或
  • 从环境变量中获取它。

是否有人有代码示例来执行这些操作,以及对最佳方法的任何建议?在线参考会很棒。

代码语言:javascript
复制
fmpp -S /home/me/sample-project/src -Param myserver:serverA

环境设置:

  • fmpp v0.9.14
  • 共济会v2.3.19
EN

回答 1

Stack Overflow用户

发布于 2018-05-03 11:20:04

使用-D命令行选项(参见--help):

代码语言:javascript
复制
-D, --data=<TDD>  Creates shared data that all templates will see. <TDD> is the
                  Textual Data Definition, e.g.:
                  -D "properties(style.properties), onLine:true"
                  Note that paths like "style.properties" are relative to the
                  data root directory.

比如:

代码语言:javascript
复制
fmpp -S /home/me/sample-project/src -D myserver:serverA

注意,在-D之后有一个空格。(它不像java命令行语法,而是类似于标准的GNU命令行语法。

这个-D-D选项无关。

文档显示onLine:true,但是这种布尔值是遗留的,不再被接受。使用online:yes解析布尔值。

例如:

代码语言:javascript
复制
fmpp \
  -S /path/ \
  --verbose \
  -D "online:yes"

然后,在模板中:

代码语言:javascript
复制
<p>
  online: ${online}
</p>

将导致:

代码语言:javascript
复制
online: yes

--verbose命令行参数用于在解析模板时显示任何错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50138892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档