我正在尝试将一些shell脚本转换为可播放的剧本。 在Shell脚本中,有许多变量是从一个单独的属性文件中读取的,在这些文件中定义了这些变量。 是否有一些模块或其他方式可以做到这一点。例如, 如果在属性文件中 $ WORKDIR = / opt / app已定义,在ansible剧本中,我想调用某个模块,例如, 复制: src:/ tmp / app 目标:$ WORKDIR /
有没有办法做到这一点?
谢谢
答案 0 :(得分:0)
是的,在清单中是我们定义主机名或ips以及变量的文件。
无论何时执行Ansible剧本,我们都会使用--inventory清单---->传递文件,这是传递清单文件的默认方式
剧本将获取此文件,并且可以使用其中定义的所有变量。
在这种情况下,使用{{WORKDIR}}
进行变量替换还有其他将变量传递到剧本的方法。
例如 -include_vars -使用角色 -在剧本中定义var。 -额外的变种
答案 1 :(得分:0)
使用lookup
(doc)
示例:
{{ lookup('ini', 'user.name type=properties file=user.properties') }}
user.name
,您要阅读的属性键user.properties
,您要读取的属性文件