1、数字与字符常用的比较
even : 判断数值是否是偶数,是偶数则返回真;
odd :判断数值是否是奇数,是奇数则返回真;
divisibleby(num) :判断是否可以整除指定的数值,如果除以指定的值以后余数为0,则返回真;
number: 是否为数字;
string: 是否为字符;
lower: 是否为小写;
upper: 是否为大写;
如:
--- - hosts: hostA tasks: - name: "是否为数字" tags: data_string debug: msg: "1 is number" when: 1 is number - name: "是否为字符" tags: data_string vars: var1: abc debug: msg: "var1 is string" when: var1 is string - name: "是否为全大写" tags: data_string debug: msg: "'Abc is not upper string'" when: '"Abc" is not upper' - name: "是否为全小写" tags: data_string debug: msg: "abc is lower string" when: '"abc" is lower' - name: "是否为奇数" tags: data_string debug: msg: "13 是奇数" when: 13 is odd - name: "是否为偶数" tags: data_string debug: msg: "44 是偶数" when: 44 is even - name: "是否可以被指定数整除" tags: data_string debug: msg: "33 可以被11 整除" when: 33 is divisibleby(11)
2、版本号比较
version: 版本号的比较
可以用于对比两个版本号的大小,或者与指定的版本号进行对比,使用语法为 version('版本号', '比较操作符'),如:2.4 is version('2.5','gt');
版本比较的符号写法:
大于 :> 或 gt
大于等于:>= 或 ge
小于 :< 或 lt
小于等于:<= 或 le
等于 := 或 eq
如:
--- - hosts: hostA tasks: - name: "获取ansible 软件版本" shell: ansible --version | head -n 1 | awk -F " " '{print $2}' register: result tags: vers - name: "版本号比较" debug: msg: "ansible 版本号:{{result.stdout}}" when: result.stdout is version("2.9.6","eq") and result.stdout is version("2.9.4","gt") tags: vers
测试结果:
root@master:/home/user1# ansible-playbook -i ansible_host test_when.yml -t vers PLAY [hostA] ********************************************************************************************************************** TASK [Gathering Facts] ************************************************************************************************************ ok: [192.168.108.22] TASK [获取ansible 软件版本] ******************************************************************************************************* changed: [192.168.108.22] TASK [版本号比较] ***************************************************************************************************************** ok: [192.168.108.22] => {} MSG: ansible 版本号:2.9.6 PLAY RECAP ************************************************************************************************************************ 192.168.108.22 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
标签:奇偶,string,tags,版本号,when,debug,name From: https://www.cnblogs.com/juzib/p/17272483.html