ansible(六)variables(二)使用

上一篇,咱们总结了下,ansible里的variables,这东西是从哪里来的。楼主举的例子可能都比较白痴,不过重在说明原理和过程,大伙有实际需求的时候,可以弄点高深的玩玩。

说过了,variables来自哪里,那variables该咋用呢?

说起用,用可以简单的用,也可以复杂的用,简单的用variables,直接variable这样用俩大括号括起来就OK了。高深的用,就要运用的更加灵活,可以对变量进行处理,结合循环,条件选择等流程控制方法使用。

说到variables,无外乎用在俩地方,playbooks和template里面

mark一下jinja2官方文档

http://jinja.pocoo.org/docs/templates/#builtin-filters

下面楼主整个没啥实际作用小例子,测试一下功能。

wKioL1OyoRvyghXPAAH5-7QlvFE096.jpg

简单说明一下,

19行,故意执行一个错误的命令

25,29,30,34行,都通过|,对变量做了处理。 | 是jinja2里面的filter,意思就是咱们这个

变量|方法,通过|后面的方法对变量进行处理,得到一个新的结果。

25行判断result是failed还是success了,当falied的时候返回True

29行,取list1和list2两个列表的合集

30行,判断dic[‘dic1’]的value是否匹配"li*",匹配返回True,否则False

34行,比较大小,判断dic[‘dic3’]是否等于10,等于返回True,不等返回False

类似的filter还有很多很多,这里就不一一列举了,大伙没事可以去看看官网或者jinja2的官网

再看一下template里面的内容

wKioL1OyoV2RKc0DAAErPxs5DUo459.jpg

1,2,10行用到了facts

9行,用到了,自定义模块返回的facts,9行的default(0)是设定默认值,如果chengge这个变量不存在,则这个表达式的结果为0

5行,用到了咱们在playbooks里面定义的variables,及template的filter功能

8行和10行,用到了ansible里面的三个内置变量中的俩个,三个分别是groups,group_names,hostvars

差不多就这些了,看下结果吧

wKioL1Oypxfib3waAAMmrTdMPZU623.jpg

OK,回家!

©著作权归作者所有:来自51CTO博客作者lixiaocheng18的原创作品,如需转载,请注明出处,否则将追究法律责任

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值