我正在尝试在变量内使用变量
变量:
env: dev
groupname: (Dynamic variable which comes as stdout of ansible task )
任务:
- name: var to trim
set_fact:
trim_var: "{{ groupname.split(\"test-{{ env }}-\") }}"
但它并没有用 dev 替换 env。有人可以帮忙吗?
最佳答案
您永远不会嵌套 {{...}}
标记。您已经在 Jinja 上下文中,因此您可以正常写入变量:
- name: var to trim
set_fact:
trim_var: "{{ groupname.split('test-' ~ env ~ '-') }}"
请注意,Jinja ~
运算符的行为类似于 +
,但它会首先将其操作数转换为字符串(在本例中这并不重要,但非常有用)如果您处理的变量不是字符串)。
关于Ansible 在变量内使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55622809/