对于 ansible jinja2 模板中的每个问题

for each problem in ansible jinja2 template

ansible 版本:2.10.9

角色:

-name: set fact
 set_fact:
   fruits: '["banana","apple"]'

模板:

{%- for fruit in fruits -%}
  {{ fruit }},
{%- endfor -%}

预期产出:

banana,apple,

但我实际得到的是:

[,",b,a,n,a,n,a,",,,",a,p,p,l,e,"],

有人能解释一下为什么所有字符都用逗号分隔吗?

只是一个猜测,但这可能与您的对象周围的''有关

请这样尝试

-name: set fact
 set_fact:
   fruits: ["banana","apple"]
fruits: '["banana","apple"]'

意思是fruits是一个字符串,但是你想把fruits定义成一个列表,所以请去掉''