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文件中有多个任务。几乎没有任务在本地主机上运行,在目标机上很少。这仅仅用于测试,所有三个任务都执行相同的操作。如果我能够读取环境变量,我将删除其他两个。 –