我正在尝试在变量中使用变量
vars:
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。有人可以帮忙吗?
答案 0 :(得分:2)
您永远不会嵌套{{...}}
个标记。您已经在Jinja上下文中,因此可以正常编写变量:
- name: var to trim
set_fact:
trim_var: "{{ groupname.split('test-' ~ env ~ '-') }}"
请注意,Jinja ~
运算符的行为类似于+
,但是它将首先将其操作数转换为字符串(在这种情况下这无关紧要,但是如果您要处理的话,它将非常有用不是字符串的变量)。