Ansible – 访问本地环境variables
我想知道是否有Ansible访问本地环境variables的方法。
文档引用访问目标机器上的variables:
{{ lookup('env', 'SOMEVAR') }}
有没有办法在源机器上访问环境variables?
我有一个运行在osx上的Linux虚拟机,对我来说:
lookup('env', 'HOME')
返回“/ Users / Gonzalo”(来自osx的HOME
variables),而ansible_env.HOME
返回“/ root”(来自vm的HOME
variables)。
值得一提的是,如果variables不存在,那么ansible_env.VAR
失败,而lookup('env', 'VAR')
不会失败。
使用可靠的lookup
:
- set_fact: env_var="{{ lookup('env','ENV_VAR') }}"
这些variables是在pipe理机器我想你的情况下源机器。
检查这个: http : //docs.ansible.com/faq.html#how-do-i-access-shell-environment-variables
它说: If you just need to access existing variables, use the 'env' lookup plugin. For example, to access the value of the HOME environment variable on management machine:
If you just need to access existing variables, use the 'env' lookup plugin. For example, to access the value of the HOME environment variable on management machine:
现在,如果你需要在远程机器上访问它,你可以在远程机器上本地运行你的脚本。 或者你可以只是事实variables。 如果事实并非如此,您可以运行一个shell命令来获取它。