jinja2的使用

1.Jinja2模板逻辑判断

1)循环

#shell脚本的循环
[root@m01 ~]# vim xh.sh
#!/bin/bash
for i in `seq 10`
do
    echo $i
done
#Jinja2的循环表达式
{% for i in range(10) %}
echo $i
{% endfor %}

2)判断

#shell脚本的判断
[root@m01 ~]# vim pd.sh 
#!/bin/bash
age=$1
if [ $age -lt 18 ];then
    echo "小姐姐"
else
    echo "大妈"
fi
#Jinja2的条件判断
{% if EXPR %}
{% elif EXPR %}
{% else %}
{% endif %}

#注释
{# COMMENT #}

配置keepalived配置文件

[root@m01 ~]# vim conf/keepalived.j2
global_defs {
    router_id {{ ansible_fqdn }}
}

vrrp_instance VI_1 {
    {% if ansible_fqdn == "lb01" %}
    state MASTER
    priority 100
    {% else %}
    state BACKUP
    priority 90
    {% endif %}
    interface eth0
    virtual_router_id 50
    advert_int 1
    authentication {    
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.0.3
    }
}
原文地址:https://www.cnblogs.com/chenlifan/p/13777488.html