在Ansible中,可以使用列表拼接和"default"过滤器的组合来解决问题。下面是一个示例代码:
- hosts: localhost
gather_facts: false
vars:
my_list_1:
- item1
- item2
my_list_2:
- item3
- item4
my_list_combined: "{{ my_list_1 | default([]) + my_list_2 | default([]) }}"
tasks:
- name: Print combined list
debug:
var: my_list_combined
在上面的示例中,我们定义了两个列表my_list_1
和my_list_2
,然后通过使用default
过滤器来确保即使其中一个列表未定义,也不会引发错误。使用default([])
将未定义的列表转换为空列表。
然后,我们使用列表拼接的方式将两个列表合并为一个新的列表my_list_combined
。使用+
运算符将两个列表连接起来,如果其中一个列表未定义,则使用空列表进行拼接。
最后,我们使用debug
模块打印出合并后的列表my_list_combined
。
运行上述代码,你将会得到如下输出:
TASK [Print combined list] ***************************************************************************************************
ok: [localhost] => {
"my_list_combined": [
"item1",
"item2",
"item3",
"item4"
]
}
输出结果显示,两个列表成功合并为一个新的列表my_list_combined
,其中包含了所有的元素。
下一篇:Ansible列表无序。