Ansible 2.4.2中如何格式化debug任务的stdout输出
如何在Ansible 2.4.2中格式化shell脚本输出为列表样式?
嘿,针对你这个把shell脚本输出转成整洁列表的需求,在Ansible 2.4.2里可以通过Jinja2模板轻松实现,具体修改方式如下:
修改后的Ansible任务
- shell: "some_script.sh" register: "some_script_result" - debug: msg: | Output: {% for line in some_script_result.stdout_lines %} - {{ line }} {% endfor %}
关键说明
- 用
|符号定义多行字符串,让msg支持换行格式,避免把所有内容挤在一行 - 通过Jinja2的
for循环遍历some_script_result.stdout_lines数组,为每一行输出添加列表前缀-,完美匹配你想要的格式 - 这种写法完全兼容Ansible 2.4.2版本,不需要额外安装模块或插件
最终输出效果
运行修改后的任务后,你会得到完全符合预期的输出:
"msg": Output:
- some_value
- some_value2
- some_value3
内容的提问来源于stack exchange,提问作者Kimmel
相关产品推荐
相关产品推荐

