ansible.builtin.env lookup – 读取环境变量的值

注意

此查找插件是 ansible-core 的一部分,包含在所有 Ansible 安装中。在大多数情况下,您可以使用简短的插件名称 env。但是,我们建议您使用 完全限定的集合名称 (FQCN) ansible.builtin.env,以便轻松链接到插件文档并避免与可能具有相同查找插件名称的其他集合发生冲突。

摘要

  • 允许您在调用 Ansible 时查询控制器上可用的环境变量。

术语

参数

注释

术语

字符串 / 必需

要查找其值的的环境变量或其列表。

关键字参数

这描述了查找的关键字参数。这些是在以下示例中的 key1=value1key2=value2 等值:lookup('ansible.builtin.env', key1=value1, key2=value2, ...)query('ansible.builtin.env', key1=value1, key2=value2, ...)

参数

注释

默认值

任何

在 ansible-core 2.13 中添加

当变量未定义时返回什么

默认值: ""

注释

注意

  • 当一起使用关键字参数和位置参数时,必须先列出位置参数,然后再列出关键字参数:lookup('ansible.builtin.env', term1, term2, key1=value1, key2=value2)query('ansible.builtin.env', term1, term2, key1=value1, key2=value2)

  • 您可以将 Undefined 对象作为 default 传递以强制出现未定义错误

示例

- name: Basic usage
  ansible.builtin.debug:
    msg: "'{{ lookup('ansible.builtin.env', 'HOME') }}' is the HOME environment variable."

- name: Before 2.13, how to set default value if the variable is not defined
  ansible.builtin.debug:
    msg: "Hello {{ lookup('ansible.builtin.env', 'UNDEFINED_VARIABLE') | default('World', True) }}"

- name: Example how to set default value if the variable is not defined
  ansible.builtin.debug:
    msg: "Hello {{ lookup('ansible.builtin.env', 'UNDEFINED_VARIABLE', default='World') }}"

- name: Fail if the variable is not defined by setting default value to 'Undefined'
  ansible.builtin.debug:
    msg: "Hello {{ lookup('ansible.builtin.env', 'UNDEFINED_VARIABLE', default=Undefined) }}"

- name: Fail if the variable is not defined by setting default value to 'undef()'
  ansible.builtin.debug:
    msg: "Hello {{ lookup('ansible.builtin.env', 'UNDEFINED_VARIABLE', default=undef()) }}"

返回值

描述

返回值

列表 / 元素=字符串

来自环境变量的值。

返回:成功

作者

  • Jan-Piet Mens (@jpmens) <jpmens(at)gmail.com>

提示

每个条目类型的配置条目具有从低到高的优先级顺序。例如,列表中较低的变量将覆盖较高的变量。