大家好,我有问题。
我目前遇到的问题是,无论文件名是否为空,复制文件的角色都会跳过所有文件。
在Role1中,我想为每个文件保存cat的输出。在Role2中的when条件语句中,如果注册的输出为==“”,我希望任务跳过。
角色1:
---
- name: copy files
shell: "cat path{{ item }}files"
register: checkempty
loop:
- test1
- test2
- test3
- test4
角色2:
---
- name: Copy Files
copy:
src: "{{ var1 }}{{ var2 }}{{ var3 }}{{ var4 }}{{ item }}/"
dest: "{{ copy_dest_sys }}" #destination path
loop: "{{ lookup('file', 'pathtofile/file').split('\n')}}"
when: hostvars['localhost'].checkempty.results == ""
剧本:
- name: check emptiness
hosts: localhost
become: yes
vars_files:
- ../variables/varsfile
roles:
- ../variables/role1
- name: Copy Files to prod/stag
hosts: "{{hosts_exec}}"
become: yes
vars_files:
- ../vars/recommendation-delta.yml
roles:
- ../roles/role2
如何使用with_items设置注册变量并将其输出与“”(无)进行比较? 有人可以帮我解决这个问题吗?