0
我想從使用Ansible手冊的目標Linux主機讀取環境變量。我根據文檔嘗試了以下所有任務,但沒有任何結果。Ansible - 從遠程主機讀取環境變量
- name: Test1
debug: msg="{{ ansible_env.BULK }}"
delegate_to: "{{ target_host }}"
- name: Test2
shell: echo $BULK
delegate_to: "{{ target_host }}"
register: foo
- debug: msg="{{ foo.stdout }}"
- name: Test3
debug: msg="{{ lookup('env','BULK')}} is an environment variable"
delegate_to: "{{ target_host }}"
環境變量「BULK」沒有在我正在執行劇本的本地主機中設置,所以我認爲它沒有返回任何東西。如果我使用總是可用的「HOME」,它將返回結果,而不是BULK。如果我SSH到目標主機,我可以運行echo $BULK
沒有任何問題。
如何從遠程主機獲取環境變量?
爲什麼在每個任務中都使用'delegate_to'? – techraf
@techraf:這個yaml文件中有多個任務。幾乎沒有任務在本地主機上運行,在目標機上很少。這僅僅用於測試,所有三個任務都執行相同的操作。如果我能夠讀取環境變量,我將刪除其他兩個。 –