如何从Ansible剧本中检查环境变量?

时间:2019-07-12 12:41:48

标签: linux ansible environment-variables

我试图扮演Ansible角色来定义远程服务器上的环境变量,但是我的linter要求我使用“ when:”语句来限制对命令模块的任何使用

- name: Set environment variables in .profile file
  become: true
  template:
    src: .profile.j2
    dest: "{{ env_home.value }}/.profile"
    owner: "{{ unix_user.name }}"
    group: "{{ unix_user.group }}"
    mode: 0777

- name: Load environment variables from .profile file
  become: true
  become_user: "{{ unix_user.name }}"
  command: "/bin/bash {{ env_home.value }}/.profile"

此代码返回已更改/确定,但是我不知道环境变量是否确实按照我的.profile模板中编写的export {{ env_home.variable }}={{ env_home.value }}定义好,我想添加一个任务检查所有环境变量是否在加载.profile

之前定义

1 个答案:

答案 0 :(得分:0)

所有环境变量实际上都存储在ansible_env中。因此,您可以在代码后运行任务setup,以再次收集新事实,然后检查ansible_env中的变量值。