Ansible – 访问本地环境variables

我想知道是否有Ansible访问本地环境variables的方法。

文档引用访问目标机器上的variables:

{{ lookup('env', 'SOMEVAR') }} 

有没有办法在源机器上访问环境variables?

我有一个运行在osx上的Linux虚拟机,对我来说:

lookup('env', 'HOME')返回“/ Users / Gonzalo”(来自osx的HOMEvariables),而ansible_env.HOME返回“/ root”(来自vm的HOMEvariables)。

值得一提的是,如果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命令来获取它。