在Ansible中,可以使用select
过滤器来从列表中删除空值,并使用default
过滤器将结果分配给新列表。以下是一个代码示例:
- hosts: localhost
gather_facts: false
vars:
original_list:
- value1
- ""
- value2
- ""
- value3
tasks:
- name: Remove empty values from list and assign to new list
set_fact:
new_list: "{{ original_list | select('ne', '') | list }}"
- name: Print new list
debug:
var: new_list
在上面的代码中,首先定义了一个名为original_list
的变量,其中包含了原始列表。然后,使用set_fact
模块和select
过滤器来从original_list
中删除空值,并将结果分配给新的变量new_list
。最后,使用debug
模块来打印新列表的内容。
运行上述代码示例后,将会输出以下结果:
TASK [Print new list] ************************************************************************************************
ok: [localhost] => {
"new_list": [
"value1",
"value2",
"value3"
]
}
可以看到,空值已经从原始列表中删除,并且被分配给了新列表。