10

当然,我可以使用 shell 命令,但我希望有一种可行的方法来做到这一点,这样我就可以获得“已更改/未更改”的响应。

4

2 回答 2

10

这是我的做法:

- name: Capture files to delete
  find:
    paths: /path/to/directory
    file_type: file
    excludes: 
      - "myfirst.file"
      - "mysecond.file"
  register: found_files

- name: Delete files
  file:
    path: "{{ item.path }}"
    state: absent
  with_items: "{{ found_files['files'] }}"
于 2019-01-18T14:46:16.267 回答
2

除了根据您的评论找到的内容之外,如果您最终需要执行 shell 命令,您可以使用command带有removes参数 ( doc ) 的模块。如果文件已经(不)存在,它将跳过该步骤,这将阻止它报告changed该步骤。但是,您仍然需要像其他答案一样遍历列表。

于 2013-12-02T21:36:40.763 回答