我试图扮演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
答案 0 :(得分:0)
所有环境变量实际上都存储在ansible_env
中。因此,您可以在代码后运行任务setup
,以再次收集新事实,然后检查ansible_env
中的变量值。