我遇到了ansible jinja模板的问题。基本上我只需要列出server_name是更易读的格式。
这是我在groups / all.yml
中定义的变量server_name:
- domain1.mydomain.com
- domain2.mydomain.com
- domain3.mydomain.com
- domain4.mydomain.com
这是myvhost.conf.j2的模板
server_name {% for name in server_name -%}
{{ name }}
{% if loop.last -%};{%- endif -%}{% endfor %}
结果是:
server_name domain1.mydomain.com
domain2.mydomain.com
domain3.mydomain.com
domain4.mydomain.com
;
预期产出:
server_name domain1.mydomain.com
domain2.mydomain.com
domain3.mydomain.com
domain4.mydomain.com;
我已经尝试了几个用于空格控制或缩进的模板组合,但它搞砸了结果。请善意告知
答案 0 :(得分:1)
您希望在变量值之后打印 换行符后跟16个空格或 ;
,因此这是一个自然要求if-else声明:
server_name {% for name in server_name -%}
{{ name }}
{%- if not loop.last %}
{% else %};{% endif %}{% endfor %}