绝大多数语言中,都使用“if“作为条件判断的关键字,而在ansible中,条件判断的关键字是"when",我们可以使用when关键字为任务指定条件,条件成立,则执行任务,条件不成立,则不执行任务

Linux企业实战-ansible(38)判断

当item>1的时候才执行msg中的内容如下所示输出为2和3

Linux企业实战-ansible(38)判断

在ansible中,我们可以使用如下比较运算符
==:比较两个对象是否相等,相等为真
!=:比较两个对象是否不等,不等为真
>:比较两个值的大小,如果左边的值大于右边的值,则为真
<:比较两个值的大小,如果左边的值小于右边的值,则为真
>=:比较两个值的大小,如果左边的值大于右边的值或左右相等,则为真
<=:比较两个值的大小,如果左边的值小于右边的值或左右相等,则为真                                                                                        可用的逻辑运算符如下
and:遥辑与,当左边与右边同时为真,则返回真
or:逻辑或,当左边与右边有任意一个为真,则返回真
not:取反,对一个操作体取反
():组合,将一组操作体包装在一起,形成一个较大的操作体

Linux企业实战-ansible(38)判断

Linux企业实战-ansible(38)判断

运行结果如下

Linux企业实战-ansible(38)判断

也可以不适用and直接写到第二行

Linux企业实战-ansible(38)判断

也可使适用or

Linux企业实战-ansible(38)判断

也可以使用取反操作

Linux企业实战-ansible(38)判断

Linux企业实战-ansible(38)判断

利用rc=0判断语句是否执行

Linux企业实战-ansible(38)判断

但是上述存在一个问题就是当task1存在错误的时候后面的task2和task3均不会执行所以我们无法判断rc=0这是我们必须忽略前面的错误继续执行

Linux企业实战-ansible(38)判断

这样即使前面报错后面也会执行

Linux企业实战-ansible(38)判断

相关文章:

  • 2021-06-29
  • 2021-03-31
  • 2021-09-25
  • 2021-04-14
  • 2022-12-23
  • 2021-07-04
  • 2021-05-16
  • 2021-07-29
猜你喜欢
  • 2021-06-30
  • 2021-12-08
  • 2021-10-05
  • 2021-12-16
  • 2021-06-22
  • 2021-06-14
  • 2021-09-14
相关资源
相似解决方案