首页 > 解决方案 > 在 jinja 循环中打印空格

问题描述

我正在尝试打印ansible任务中的主机列表;

我想在它们之间有空格,但是下面的循环没有达到目的:

{% for host in groups['all'] -%} {{ host }}:6379 {%- endfor %} 

有什么建议么?

标签: loopsansiblejinja2

解决方案


如果您的目标是将它们全部放在一行上并且不介意在开始时有空格,您可以简单地执行以下操作:

{% for host in groups['all'] -%} {{ ' ' ~ host }}:6379 {%- endfor %}

您还可以在每个项目的末尾添加一个字符(例如空格或其他内容),同时跳过最后一个。注意 if 和 endif 之间的空格:

{% for host in groups['all'] -%}
{{ host }}:6379
{%- if not loop.last %} {% endif %}
{%- endfor %} 

推荐阅读