[英]How to set existing linux environment variables with ansible?
RHEL 6.x上的Ansible v2.4.0.0
我看到如何使用ansible設置linux環境變量 ,但它涉及設置一個新的環境變量。 如果我嘗試設置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','PATH') }}
我已經嘗試過兩種方式,如上所示,注釋掉一種方式,另一方面,我在兩種情況下都會出現語法錯誤。 我錯過了什么?
這是為單個任務擴展PATH
變量的正確方法:
- name: Execute task with extended PATH
shell: echo $PATH
environment:
PATH: "/usr/other/bin:{{ ansible_env.PATH }}"
environment
本身不是一個動作,它是修改動作'(在我的例子中是shell
)環境中的關鍵字。
我不知道為什么,但Konstantin Suvorov解決方案對我不起作用。
經過一些測試后,我將以下Ansible部分與Vagrant(Ubuntu guest)結合使用。
-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
這也適用於PATH
,通過將其添加到帶有${PATH}
的引號中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.