ansible:when(subset、superset、判断一个对象是否是字符串、判断对象是否为一个数字)


1. subset、superset

在这里插入图片描述

[root@server4 pd]# cat pd10.yml 
---
- hosts: testB
  remote_user: root
  gather_facts: no
  vars:
    a:
    - 2
    - 5
    b: [1,2,3,4,5]
  tasks:
  - debug:
      msg: "a subset of b"
    when: a is subset(b)
  - debug:
      msg: "b superset of a"
    when: b is superset(a)

测试:

[root@server4 pd]# ansible-playbook pd10.yml 

PLAY [testB] *******************************************************************

TASK [debug] *******************************************************************
ok: [172.25.60.3] => {
    "msg": "a subset of b"
}

TASK [debug] *******************************************************************
ok: [172.25.60.3] => {
    "msg": "b superset of a"
}

2. 判断一个对象是否是字符串

[root@server4 pd]# cat pd11.yml 
---
- hosts: testB
  remote_user: root
  gather_facts: no
  vars:
    testvar1: 1
    testvar2: "1"
    testvar3: a
  tasks:
  - debug:
      msg: "This testvar1 is a string"
    when: testvar1 is string
  - debug:
      msg: "This testvar2 is a string"
    when: testvar2 is string
  - debug:
      msg: "This testvar3 is a string"
    when: testvar3 is string

测试:

[root@server4 pd]# ansible-playbook pd11.yml 

PLAY [testB] *******************************************************************

TASK [debug] *******************************************************************
skipping: [172.25.60.3]

TASK [debug] *******************************************************************
ok: [172.25.60.3] => {
    "msg": "This testvar2 is a string"
}

TASK [debug] *******************************************************************
ok: [172.25.60.3] => {
    "msg": "This testvar3 is a string"
}

3. 判断对象是否为一个数字

[root@server4 pd]# cat pd12.yml 
---
- hosts: testB
  remote_user: root
  gather_facts: no
  vars:
    testvar1: 1
    testvar2: "1"
    testvar3: 00.20
  tasks:
  - debug:
      msg: "This testvar1 is a number"
    when: testvar1 is number
  - debug:
      msg: "This testvar2 is a number"
    when: testvar2 is number
  - debug:
      msg: "This testvar3 is a number"
    when: testvar3 is number

测试:

[root@server4 pd]# ansible-playbook pd12.yml 

PLAY [testB] *******************************************************************

TASK [debug] *******************************************************************
ok: [172.25.60.3] => {
    "msg": "This testvar1 is a number"
}

TASK [debug] *******************************************************************
skipping: [172.25.60.3]

TASK [debug] *******************************************************************
ok: [172.25.60.3] => {
    "msg": "This testvar3 is a number"
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值