2017-08-13 30 views

回答

0

假设你有一个名为FOO的env var。

- hosts: localhost 
    gather_facts: "False" 
    vars: 
    my_env_var: "{{ lookup('env','FOO') }}" 
    tasks: 
    - name: "set e1" 
     set_fact: 
     my_ansible_var: "x" 
     when: my_env_var == "e1" 
    - name: "set e2" 
     set_fact: 
     my_ansible_var: "y" 
     when: my_env_var == "e2" 

您现在可以在任何需要的地方引用{{my_ansible_var}}值。

+0

非常感谢Russ,一个小问题... 如何用e1和e2值定义我的env var FOO? – Monika

+0

有没有办法从var-> main.yml中调用变量来查找。我将一个变量定义为env_hn = e {{ansible_hostname}},它将根据这个变量值来获取值e1或e2或e3,我想为几个变量赋值。 – Monika

+0

plus,你能给我一些关于这个警告的想法: [警告]:当语句不应该包含jinja2模板分隔符,如{{}}或{%%}。找到:“{{env_hn}}”==“e2” – Monika

相关问题