Ansible中Playbook的逻辑控制语句-when

playbook的逻辑控制语句

  • when
    • 条件判断语句,类似if
  • loop
    • 循环语句,类似loop
  • block
    • 将几个任务组成一个代码块,便于针对一组操作的异常进行处理

when的基本用法

when的运算符操作

  • when关键字可以配合各种运算符进行操作,如下:
  • 比较运算符
运算符 用法 运算符 用法
== 相等 != 不等
> 大于 < 小于
>= 大于等于 <= 小于等于
  • 逻辑运算符
运算符 用法 运算符 用法
and 逻辑与 or 逻辑或
not 逻辑否 () 组合表达式
  • 路径条件判断
运算符 用法 运算符 用法
is exists 路径存在 is not exists 路径不存在
  • 判断变量
运算符 用法 运算符 用法
defined 变量已定义 undefined 变量未定义
none 变量为空
  • 判断执行结果
运算符 用法 运算符 用法
success/successed 任务成功 failure/failed 任务失败
change/changed 任务状态为changed skip/skipped 任务被跳过
  • 判断路径
运算符 用法 运算符 用法
file 路径是文件 directory 路径是目录
link 路径是软链接 mount 路径是挂载点
exists 路径存在
  • 判断字符串
运算符 用法 运算符 用法
lower 字符均小写 upper 字符均大写
  • 判断整除
运算符 用法 运算符 用法
even 为偶数 odd 为奇数
divisibleby(n) 能被n整除
  • 版本号大小比较version
运算符 用法 运算符 用法
>/gt 大于 >=/ge 大于等于
小于 <=/le 小于等于
=/==/eq 等于 !=/<>/ne 不等于
  • 判断一个list是不是另一个list的子集superset
  • 判断一个字符串是否存在于另一个字符串中in
  • 判断对象是否为一个数字number

你可能感兴趣的:(Ansible,ansible)