2017-08-13 31 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