如何设置远程主机的环境变量

时间:2016-03-28 10:03:42

标签: linux environment-variables ansible ansible-playbook

我在使用远程主机的环境变量时遇到问题。例如,当我尝试{{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的初学者,需要一些帮助。 提前谢谢你。

1 个答案:

答案 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