在Ansible中,可以使用with_items
关键字来迭代一个列表,并在每次迭代中对一个任务进行重复。如果需要将这些迭代的项目拼接起来,可以使用Ansible的过滤器来实现。
以下是一个示例代码,演示如何使用with_items
和过滤器来拼接项目:
- name: Concatenate items
hosts: localhost
gather_facts: false
vars:
my_list:
- item1
- item2
- item3
tasks:
- name: Print concatenated items
debug:
msg: "{{ my_list | join(',') }}"
with_items: "{{ my_list }}"
在上面的示例中,我们定义了一个名为my_list
的变量,它包含了一个列表[item1, item2, item3]
。然后,我们使用with_items
关键字来迭代my_list
列表,并使用join()
过滤器将每个项目拼接起来。最后,使用debug
模块打印出拼接后的字符串。
运行上面的Playbook,将输出以下结果:
TASK [Print concatenated items] *******************************************
ok: [localhost] => (item=item1) => {
"msg": "item1"
}
ok: [localhost] => (item=item2) => {
"msg": "item2"
}
ok: [localhost] => (item=item3) => {
"msg": "item3"
}
可以看到,每个项目都被拼接成了一个字符串,并按照迭代的顺序打印出来。
希望以上示例能帮到你!