如何使用ansible设置现有的linux环境变量?
RHEL 6.x上的Ansible v2.4.0.0 我明白了,但它涉及设置一个新的环境变量。如果我试图设置PATH变量,则解决方案不适用于我。我知道如何使用ansible设置现有的linux环境变量?,ansible,ansible-2.x,Ansible,Ansible 2.x,RHEL 6.x上的Ansible v2.4.0.0 我明白了,但它涉及设置一个新的环境变量。如果我试图设置PATH变量,则解决方案不适用于我。我知道 - name: Add /usr/other/bin to PATH dir to use the git binary there environment: # PATH: /usr/other/bin:{{ ansible_env.PATH }} PATH: /usr/other/bin:{{ lookup('env','P
- name: Add /usr/other/bin to PATH dir to use the git binary there
environment:
# PATH: /usr/other/bin:{{ ansible_env.PATH }}
PATH: /usr/other/bin:{{ lookup('env','PATH') }}
如上所示,我尝试了两种方法,分别对其中一种方法和另一种方法进行了注释,但在这两种情况下都出现了语法错误。我遗漏了什么?这是为单个任务扩展
路径变量的正确方法:
- name: Execute task with extended PATH
shell: echo $PATH
environment:
PATH: "/usr/other/bin:{{ ansible_env.PATH }}"
environment
本身不是一个动作,它是修改动作(在我的示例中是shell
)环境的关键字。我不知道为什么,但解决方案对我不起作用
经过一些测试,我将下面的Ansible部分与Vagrant(UbuntuGuest)结合使用
这也适用于PATH
,方法是将它添加到带有${PATH}
的引号中。谢谢,现在这样做很有意义。
-name: Creating environment variable via file in /etc/profile.d
args:
chdir: /etc/profile.d
shell: echo "export M2_HOME=/home/vagrant/maven" > env.sh