You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible Jinja2模板是否支持在for循环中使用列表参数?

Ansible是否支持该模板动态生成写法?

Ansible完全支持这种通过Jinja2循环动态生成模板内容的写法——Ansible的模板功能基于Jinja2模板引擎,而Jinja2原生支持for循环、变量插值这类语法。

不过需要注意一个细节:你示例中的列表项sg-bend1、sg-bend2需要用引号包裹,否则Jinja2会将它们当作变量名解析(未定义对应变量时会报错)。修正后的模板代码如下:

{% for server in ['sg-bend1', 'sg-bend2'] %}
check program {{ server }}_test
  with path /home/ubuntu/t.sh {{ server }}
  if status != 0 then alert
{% endfor %}

这段模板通过Ansible执行后,会按照预期生成以下内容:

check program sg-bend1_test
  with path /home/ubuntu/t.sh sg-bend1
  if status != 0 then alert

check program sg-bend2_test
  with path /home/ubuntu/t.sh sg-bend2
  if status != 0 then alert

你可以通过Ansible的template模块调用该模板文件,将生成后的内容部署到目标主机上。

内容的提问来源于stack exchange,提问作者E_K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 21:20:29