How can I use default with variable in Ansible?

2019-01-12 12:53发布

问题:

I know that I can use a simple hardcoded string in default but I am trying to do this:

myvar: "{{ lookup('env','var1') | default("{{var2}}",true) }}"

But it adds that as a string instead of evaluating it.

回答1:

Once you opened a Jinja2 expression with {{ you don't need to open it again (especially quoted) and you can refer to the variables by their names:

myvar: "{{ lookup('env','var1') | default(var2, true) }}"