我在使用远程主机的环境变量时遇到问题。例如,当我尝试{{lookup('env','PATH')}}时,这将返回我的来宾机器的路径,而不是远程主机的路径。
如何获取/更改远程主机的环境变量?
我的剧本:
---
- name : playbook
hosts : webservers
gather_facts: yes
remote_user: user1
vars:
Path: "{{lookup('ansible_env','PATH')}}"
roles :
- task1
- task2
- task3
返回我的机器的路径而不是名为user1的远程主机的路径 我是ansible的初学者,需要一些帮助。 提前谢谢你。
答案 0 :(得分:2)
您可以使用environment关键字为任务或剧本设置PATH。
environment:
PATH: "{{ ansible_env.PATH }}:/thingy/bin"
SOME: value
Ansible常见问题解答提到了http://docs.ansible.com/ansible/faq.html
附近的内容因此,在您的情况下尝试以下内容:
- name: Set Path for java
environment:
PATH: "$JAVA_HOME/bin:{{ ansible_env.PATH }}"
设置环境参考:http://docs.ansible.com/ansible/playbooks_environment.html