关键词
- when
运算符
- == != > < >= <=
- and or not
- ( ) 组合,例如 ( a and b ) or c
ansible 某个 task 报错,会导致任务终止,而ignore_errors: true 可以忽略某个任务的条件不满足
is 语句 或者 is not 语句
tasks:
- name: show is xxx
debug:
msg: "xxx is ok"
when: var is xxx
判断文件
- xxx 是 exists ,表示若 var 存在,条件为真
- xxx 是 file, 表示若 var 是文件,条件为真
- xxx 是 directory, 表示若 var 是目录,条件为真
- xxx 是 link,表示若 var 是软连接,条件为真
- xxx 是 mount,表示若 var 是挂载点,条件为真
判断变量
- 若 xxx 是 defined, 表示若 var 已定义,条件为真
- 若 xxx 是 undefined, 表示若 var 未定义,条件为真
- 若 xxx 是 none, 表示若 var 是空,条件为真
判断任务状态
- 若 xxx 是 success, 若 var 为某任务返回结果,则任务状态成功,条件为真
- 若 xxx 是 failure, 若 var 为某任务返回结果,则任务状态失败,条件为真
- 若 xxx 是 change,若 var 为某任务返回结果,则任务状态改变,条件为真
- 若 xxx 是 skip, 若 var 为某任务返回结果,则任务被忽略,条件为真
判断字符串
若 xxx 是 string,若 var 是字符串,条件为真
若 xxx 是 lower,若 var 是纯小写,条件为真
若 xxx 是 upper,若 var 是纯大写,条件为真
判断数字
若 xxx 是 number, 若 var 是数字,条件为真。 var: “123” ,这里 var 是字符串,不是数字
若 xxx 是 even,若 var 是偶数,条件为真
若 xxx 是 odd, 若 var 是奇数,条件为真
若 xxx 是 divisibleby(num), 若 var 可以被 num 整除,条件为真
判断集合
- 若 xxx 是 subset(list),若 var 是 list 的子集,条件为真
- 若 xxx 是 superset(list), 若 var 是 list 的父集,条件为真