我正试图获取存储在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}}>其中zipfile是变量的名称。通常这就是在剧本中如何实现变量值。现在我想使用变量INSTALL_JBOSS的值(在剧本中为“ Y”),但是如果我使用{{INSTALL_JBOSS}},则该值无法识别为存储在.sh文件中的值。另一方面,当我使用带有“ vars_files”选项的yaml文件中定义的变量时,可以轻松地将此{{}}与它们一起使用。但是我无法对.sh文件做同样的事情。
此.sh文件具有我要在我的剧本中使用的环境变量。
当我尝试在var_files选项中使用.sh文件并运行剧本时,出现以下错误:错误!变量文件必须包含变量字典或字典列表。
有什么想法吗?
谢谢
答案 0 :(得分:1)
以上可变文件不能直接在ansible中使用,因为它是基于Shell语法进行可变源的。
我的建议是使用shell模块将此文件作为源,并执行您想做的事情。