jinjia2 遍历追加语法

实现将遍历的元素按照规则进行拼接

如果是组内的变量需要通过set获取

如果是全局的变量可以直接通过{{variable}} 引用

如果在for循环中通过{% set dirs = dirs+/home/disk"+n|string+"/kafka"%},变量只在for循环内可见,所以使用append解决此问题;

但是append会产生换行符,所以在配置文件中会有很多空行,有知道解决办法的大佬请不吝赐教

{% set id=hostvars[inventory_hostname].id %}
{% set log_dir_num=hostvars[inventory_hostname].log_dir_num %}
{% set zookeeper=groups.zookeeper %}
{% set dirs=[] %}
{% for n in range(1,log_dir_num+1,1) %}
{{ dirs.append( "/home/disk"+n|string+"/kafka" ) }}
{% endfor %}
broker.id={{id}}
log.dirs={{ dirs|join(',') }}
zookeeper.connect={{zookeeper|join(',')}}/{{cluster_name}}

  

原文地址:https://www.cnblogs.com/Bccd/p/13039778.html