我想审查shell任务的输出,因为它包含密码。我希望使用debug打印命令输出,并且在我拥有的Ansible 2.5上运行良好,但是当我在Ansible 2.1上进行测试时,它会打印所有内容。我想在Ansible 2.1上运行该功能的原因是客户目前坚持使用该版本。
- hosts: localhost
vars:
routes:
- name: /blue
- name: /green
password: test
gather_facts: no
tasks:
- name: Execute manage command
shell: ./manage.sh "{{item.name}} {{password}}"
with_items:
- "{{routes}}"
no_log: true
register: cmd_out
#- debug: msg="item.rc={{item.rc}} item.stdout={{item.stdout}}"
# with_items: "{{ cmd_out.results }}"
- debug: msg="item.stdout={{cmd_out.results[0].stdout}}"
我发现这种方式是“调试:msg =“ item.stdout = {{cmd_out.results [0] .stdout}}””,它根据索引值打印第一个索引项目,第二个打印索引项目。然后我想要一种将index作为变量输入的方法,如下所示。
cmd_out.results [index] .stdout
谢谢, 里耶什。