[英]Ansible: Command module not interpolating shell variable
以下命令很可能失败,因为它无法插补shell变量packdir
- name: archive_artifacts.yml --> Clear git history from packs directories
command: 'for packdir in {{ packs_dir }}/*; do rm -rf {{ packs_dir }}/"${packdir}"/.git; done'
args:
chdir: "{{ temp_build_directory }}"
packs_dir
是特定角色的defaults/main.yml
中的变量:
packs_dir: "packs"
有没有一种方法可以让命令模块替换ansible
和 shell
变量?
有没有一种方法可以让命令模块替换ansible和shell变量?
是。 确保在运行命令的主机,用户和外壳程序的环境中存在shell变量。
- hosts: localhost
vars:
env_variable: SHELL
tasks:
- command: "echo ${{ env_variable }}"
register: result
- debug: msg="{{ result.stdout }}"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.