gpt4 book ai didi

linux - Ansible:从目录列表中,仅过滤掉现有的目录

转载 作者:太空宇宙 更新时间:2023-11-04 10:13:07 24 4
gpt4 key购买 nike

我正在尝试创建一个 Ansible 剧本,它将检查目录列表,过滤该列表以仅包含现有目录,并将该列表存储到一个变量(事实?)。除了存储现有目录的过滤列表外,我还想将第一个找到的现有目录存储到不同的变量中。

我在让它发挥作用时遇到了一些困难,我觉得我让它变得更难了。有什么建议么?

- hosts: all
vars:
my_dirs:
- "/a/"
- "/b/"
- "/c/"
tasks:

- name: Checking existing file name
stat:
path: "{{ item }}"
with_items: "{{ my_dirs }}"
register: check_file_name

- name: Set fact
set_fact:
existing_paths: "{{ item.stat.path }}"
with_items:
"{{ check_file_name.results }}"
when: item.stat.exists | default(False) | bool

最佳答案

我认为您几乎可以正常工作,但可能需要对剧本进行一些更改,如下面的数组中收集的结果:

  - set_fact: existing_paths="{{ [] }}"  - name: Set fact    set_fact:       existing_paths: "{{ existing_paths +[item.stat.path] }}"    with_items:      "{{ check_file_name.results }}"    when: item.stat.exists

关于linux - Ansible:从目录列表中,仅过滤掉现有的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47783416/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com