我正在尝试使用Ansible playbook从目标Linux主机读取环境变量。根据文档,我尝试了以下所有任务,但没有结果。
- 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 }}"
我在执行playbook的本地主机上没有设置环境变量"BULK",所以我认为它不会返回任何值。如果我使用始终可用的"HOME"替代BULK,则会返回结果。如果我通过SSH登录到目标主机,则可以轻松运行echo $BULK
。
如何从远程主机获取环境变量?
delegate_to
? - techraf