如何使用Ansible过滤器将列表项转换为逐行输出的文本内容
Ansible列表转逐行文本解决方案
你可以使用Ansible内置的join过滤器实现该需求,将\n(换行符)作为拼接分隔符即可完成转换。
调用语法
假设你的列表存储在变量command_list中,使用方式如下:{{ command_list | join('\n') }}
完整演示示例
- name: 列表转逐行文本测试 hosts: localhost vars: # 对应你的示例列表数据 command_list: - barman receive-wal --stop srv1 - barman receive-wal --stop srv2 - barman receive-wal --stop srv3 - barman receive-wal --stop srv4 - barman receive-wal --stop srv5 tasks: - name: 打印转换后的逐行结果 debug: msg: "{{ command_list | join('\n') }}"
执行上述playbook后,debug输出的内容就和你期望的逐行显示效果完全一致。
内容的提问来源于stack exchange,提问作者Fabrice Chapuis
相关产品推荐
相关产品推荐

