我在导出环境变量作为以下 Ansible 任务的一部分时遇到问题 -
- name: Run custom shell script
shell: "sudo bash custom_script.sh"
register: output
environment:
ENV_VAR1: "secret-key"
在执行过程中,进程无法找到
ENV_VAR1
。
另一种方法是在 shell 命令中显式导出变量,例如 -
- name: Run custom shell script
shell: "sudo su -c 'export ENV_VAR1=\"secret-key\"; bash custom_script.sh'"
register: output
但是,我对这种方法不太满意,并且想利用 Ansible 提供的
environment
功能。
注意:请注意,我也将无法使用
become: true
,并且必须通过sudo
运行shell命令。
如有任何帮助,我们将不胜感激。预先感谢。