我写了一个小剧本,如下所示
---
- hosts: centos
tasks:
- name: Set permissions
find:
paths: "/home/portaladmin/cq/author/crx-quickstart/repository/workspaces/crx.default/"
patterns: "*.tar"
register: tar_files
- debug: var=tar_files.files[0].path
我在这里的输出很好
TASK [debug] *******************************************************************
ok: [local] => {
"tar_files.files[0].path": "/home/portaladmin/cq/author/crx-quickstart/repository/workspaces/crx.default/1.tar"
但我实际上有10个tar文件,作为1.tar到10.tar。我们有什么方法可以获得从.tar到10.tar的所有文件的路径。
我尝试使用- debug: var=tar_files.files[0:].path
和- debug: var=tar_files.files[0:4].path
但是得到的错误就像没有变量但是- debug: var=tar_files.files[0-10].path
我在输出中只得到一个名为1.tar
的文件。
我们有什么方法可以1.tar
到10.tar
完成路径吗?
答案 0 :(得分:1)
这样做:
- debug: var=item.path
with_items: "{{ tar_files.files }}"
你不是在这里处理任何标准输出,而是处理Python对象。 tar_files
是一个字典,tar_files.files
是一个列表,所以你应该迭代它的元素。