Когда вы смотрите на этот вопрос, кажется, что вы работаете в некотором беспорядке и пытаетесь продолжать в том же духе.Я думаю, что лучше не двигаться дальше в этом направлении, а работать более профессионально.
На данный момент;более элегантное решение с использованием только модулей Ansible;
---
- hosts: local_test
# gather_facts: False
vars:
file_Del: test
tasks:
- name: find some files at a location, recursively
find:
paths: "/tmp/{{ file_Del }}"
recurse: true
register: found_files
- name: display files found, to be deleted, could be empty
debug:
msg: "Files found are {{ item.path }}"
with_items:
- "{{ found_files.files }}"
- name: delete files when found
file:
path: "{{ item.path }}"
state: absent
with_items: "{{ found_files.files | default ([]) }}"
- name: display files found, to be deleted, could be empty
debug:
msg: "{{ found_files }}"
- name: end play when no files are found
meta: end_play
when: found_files.matched == 0
- name: this task is skipped when there are no files found, but executed when files were deleted
shell: echo hi
Относительно вашего вопроса с помощью "rm -rf Command not found"
;это выглядит необычно, например, вы запускаете playbook на хосте Linux и Windows, где задача не будет выполнена на хосте Windows.На каждом известном мне хосте Linux уже установлена rm
, даже большинство контейнеров Docker и хосты OpenBSD.
Возможно, было бы целесообразно разделить эти задачи для каждой среды.
Возможно, немногоконтекст может помочь нам, а в конечном итоге и вам.