【发布时间】:2019-08-04 13:01:05
【问题描述】:
我正在尝试获取存储在 variables.sh 文件中的变量,例如 Ansible 剧本中的以下内容:
INSTALL_JBOSS=Y 导出 INSTALL_JBOSS
INSTALL_DSS=Y 导出 INSTALL_DSS
INSTALL_ESB=Y 导出 INSTALL_ESB
INSTALL_JMS=N 导出 INSTALL_JMS . . . .
在我的 yaml 中的剧本中,我正在使用这样的变量: 其中 zipfile 是变量的名称。通常这就是在剧本中实现变量值的方式。现在我想使用变量 INSTALL_JBOSS 的值,即剧本中的“Y”,但如果我使用 {{INSTALL_JBOSS}},它不会将该值识别为存储在 .sh 文件中。另一方面,当我使用带有“vars_files”选项的 yaml 文件中定义的变量时,我可以轻松地将它们与 {{}} 一起使用。但我不能对 .sh 文件做同样的事情。
这个 .sh 文件有我想在我的剧本中使用的环境变量。
当我尝试在 var_files 选项中使用 .sh 文件并运行 playbook 时,会出现以下错误:错误!变量文件必须包含变量字典或字典列表。
有什么想法吗?
谢谢
【问题讨论】: