变量内的Ansible use变量

时间:2019-04-10 23:51:38

标签: ansible

我正在尝试在变量中使用变量

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。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

您永远不会嵌套{{...}}个标记。您已经在Jinja上下文中,因此可以正常编写变量:

- name: var to trim  
  set_fact:  
    trim_var: "{{ groupname.split('test-' ~ env ~ '-') }}"

请注意,Jinja ~运算符的行为类似于+,但是它将首先将其操作数转换为字符串(在这种情况下这无关紧要,但是如果您要处理的话,它将非常有用不是字符串的变量)。

相关问题