用变量迭代ansible任务

时间:2016-09-15 05:02:34

标签: loops ansible ansible-2.x

我希望获取一个shell命令的输出并使用它作为输入来多次运行另一个命令,每个项目和arg:

---
- hosts: myhost
  tasks:

    - name: determine local storage mount points
      shell: /usr/sbin/showmount -d | grep -v Directories
      register: mounts

    - debug: var=mounts.stdout_lines

    - name: run gather script
      shell: echo gather.py {{item}}
      register: gather
      with_items: "{{mounts.stdout_lines}}"

我该怎么做?

1 个答案:

答案 0 :(得分:0)

从技术上讲,你的代码是正确的,它应该有效。但是shell的{​​{1}}命令可能是您的问题。

查看收集的文件扩展名,我怀疑你是否正在尝试执行python脚本?所以做一个echo gather.py {{item}}在这里没有任何意义。

相反,您可能想尝试echo