[英]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.