ansible-條件判斷when-8

邏輯運(yùn)算符

在Ansible中,除了比較運(yùn)算符,還支持邏輯運(yùn)算符:
and:邏輯與,當(dāng)左邊和右邊兩個(gè)表達(dá)式同時(shí)為真,則返回真
or:邏輯或,當(dāng)左右和右邊兩個(gè)表達(dá)式任意一個(gè)為真,則返回真
not:邏輯否,對(duì)表達(dá)式取反
():當(dāng)一組表達(dá)式組合在一起,形成一個(gè)更大的表達(dá)式,組合內(nèi)的所有表達(dá)式都是邏輯與的關(guān)系

比較運(yùn)算符

==:比較兩個(gè)對(duì)象是否相等,相等則返回真??捎糜诒容^字符串和數(shù)字
!=:比較兩個(gè)對(duì)象是否不等,不等則為真。
">":比較兩個(gè)對(duì)象的大小,左邊的值大于右邊的值,則為真
<:比較兩個(gè)對(duì)象的大小,左邊的值小于右邊的值,則為真
=:比較兩個(gè)對(duì)象的大小,左邊的值大于等于右邊的值,則為真
<=:比較兩個(gè)對(duì)象的大小,左邊的值小于等于右邊的值,則為真

條件判斷

1.when的值是一個(gè)條件表達(dá)式,如果條件判斷成立,這個(gè)task就執(zhí)行,如果判斷不成立,則task不執(zhí)行
2.如果需要根據(jù)變量、facts(setup)或此前任務(wù)的執(zhí)行結(jié)果來作為某task執(zhí)行與否的前提時(shí)要用到條件測(cè)試,在Playbook中條件測(cè)試使用when子句。
3.在task后添加when子句即可使用條件測(cè)試:when子句支持jinjia2表達(dá)式或語法,

例如:滿足這兩個(gè)條件會(huì)在 /home/ 創(chuàng)建 123.test 文件

- name: touch centos
2   command: touch /home/123.test
3   when:
4     - ansible_distribution == "CentOS" #條件一:為Centos 系統(tǒng)
5     - ansible_distribution_major_version == "7" #條件二:版本號(hào)為7
6   tags:
7     - touch_Cent

組條件判斷:當(dāng)系統(tǒng)版本是“centos7” or(或者) “debian6” 時(shí),創(chuàng)建目錄

- name: "CentOS 6 and Debian 7 systems"
  command: mkdir  /home/test_new/CentOS -p
  when: (ansible_distribution ==  "CentOS" and ansible_distribution_major_version == "7") or    
        (ansible_distribution ==  "Debian" and ansible_distribution_major_version == "6")
  tags:
    - mkdir_Cent
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容