Linux企业实战-ansible(43、44)过滤器

通过管道的方式将字符串变成大写

Linux企业实战-ansible(43、44)过滤器

Linux企业实战-ansible(43、44)过滤器

过滤器是一种能够帮助我们处理数据的工具,其实,ansible中的过滤器功能来自于jinja2模板引擎,我们可以借助jinja2的过滤器功能在ansible中对数据进行各种处理,而上例中的upper就是一种过滤器,这个过滤器的作用就是将小写字母变成大写,你一定已经发现了,当我们想要通过过滤器处理数据时,只需要将数据通过管道符传递给对应的过滤器即可,当然,过滤器不只有upper,还有很多其他的过滤器,这些过滤器有些是jinja2内置的,有些是ansible特有的,如果这些过滤器都不能满足你的需求,jinja2也支持自定义过滤器。

jinja2的官网链接,如下
http://jinja.pocoo.org/docs/2.10/templates/#bu iltin-filters

跟字符串有关的过滤器

Linux企业实战-ansible(43、44)过滤器

Linux企业实战-ansible(43、44)过滤器

Linux企业实战-ansible(43、44)过滤器

运行结果

Linux企业实战-ansible(43、44)过滤器

然后实现一个多功能的playbook

Linux企业实战-ansible(43、44)过滤器

Linux企业实战-ansible(43、44)过滤器

跟数字有关的过滤器

Linux企业实战-ansible(43、44)过滤器

Linux企业实战-ansible(43、44)过滤器

然后介绍列表的

Linux企业实战-ansible(43、44)过滤器

Linux企业实战-ansible(43、44)过滤器

Linux企业实战-ansible(43、44)过滤器

Linux企业实战-ansible(43、44)过滤器

如果testvar5没有定义返回dd

Linux企业实战-ansible(43、44)过滤器

然后饿哦们把五改成六,因为六时空

Linux企业实战-ansible(43、44)过滤器

Linux企业实战-ansible(43、44)过滤器

此时返回的是空

如果是空或者没定义我们返回一个pp

Linux企业实战-ansible(43、44)过滤器

Linux企业实战-ansible(43、44)过滤器

如果变量没定义我们报错

Linux企业实战-ansible(43、44)过滤器

Linux企业实战-ansible(43、44)过滤器

同样对一个文件进行检测如果定义了或者没定义都执行对应的操作

Linux企业实战-ansible(43、44)过滤器

我们可以省略判断语句利用下列的语句实现

Linux企业实战-ansible(43、44)过滤器

Linux企业实战-ansible(43、44)过滤器