Ansible提供了一个内置的filter default
,可以用来从变量中向空列表添加数据。下面是一个示例代码:
- name: Add data to empty list variable
hosts: localhost
gather_facts: false
vars:
my_list: [] # 定义一个空列表变量
my_data: "item1" # 要添加到列表中的数据
tasks:
- name: Add data to list
set_fact:
my_list: "{{ my_list | default([]) + [my_data] }}"
- name: Print list
debug:
var: my_list
在上面的示例中,my_list
是一个空列表变量,my_data
是要添加到列表中的数据。使用set_fact
模块和default
过滤器,我们可以将my_data
添加到my_list
中。然后使用debug
模块打印出my_list
的值。
运行上述代码,输出将会是:
TASK [Print list] *******************************************************************************************
ok: [localhost] => {
"my_list": [
"item1"
]
}
这样就成功将数据添加到空列表中了。