Ansible 将jinja2字符串解引用到变量中?
我有这样的想法:Ansible 将jinja2字符串解引用到变量中?,ansible,jinja2,Ansible,Jinja2,我有这样的想法: item = bar foobar = { a: b, b: c } 然后在jinja模板中: {{'foo' ~ item}} 我试图找出如何获取foobar键,但这只是返回字符串foobar 我试过几件事: {{('foo' ~ item).a}} {{'foo' ~ item.a}} {{{{'foo' ~ item}}.a}} 最终,它们将显示为字符串foobar,而不是计算变量foobar。。除了最后一个,它只是打破了。。但我不知道怎么做到这一点 (具体来说,这
item = bar
foobar = { a: b, b: c }
然后在jinja模板中:
{{'foo' ~ item}}
我试图找出如何获取foobar键,但这只是返回字符串foobar
我试过几件事:
{{('foo' ~ item).a}}
{{'foo' ~ item.a}}
{{{{'foo' ~ item}}.a}}
最终,它们将显示为字符串foobar
,而不是计算变量foobar
。。除了最后一个,它只是打破了。。但我不知道怎么做到这一点
(具体来说,这是通过将字符串与Ansible中的
{{item}}
组合而来的。因此答案不是“使用{{foobar.a}}
”)您可以使用以下脚本:
---
- hosts: localhost
become: true
vars:
- itemn: bar
- foobar: {"a":"b", "b":"c"}
tasks:
- debug: msg="{{vars['foo' ~ itemn]['a']}}"
请阅读@techraf好主意。顺便说一句,如果你想通过这种方式与我联系,我的twitter名称是相同的。(嘿,我们看看有没有人在上面签名)