博客專欄

        EEPW首頁 > 博客 > shell中的比較運算符 -eq -ne -gt -lt -ge -le 及 == != 與 邏輯運算符$$ || !

        shell中的比較運算符 -eq -ne -gt -lt -ge -le 及 == != 與 邏輯運算符$$ || !

        發布人:電子禪石 時間:2023-05-06 來源:工程師 發布文章

        shell中的比較運算符:

        -eq       //等于

        -ne       //不等于

        -gt        //大于 (greater)

        -lt         //小于 (less)

        -ge       //大于等于

        -le        //小于等于


        命令的邏輯關系:

        在 linux 中命令執行狀態:0 為真,其他為假  。

        $?  是顯示最后命令的退出狀態,0 表示沒有錯誤,其他(比如1等)表示有錯誤

        ————————————————

        eg:

        shell中的邏輯運算符:

        邏輯與:    &&
        第一個條件為假時,第二個條件不用再判斷,最終結果已經有;
        第一個條件為真時,第二個條件必須得判斷。
        邏輯或:    ||
        邏輯非:       !

         

        舉例1:


        echo $isDeploy
        if [ $isDeploy == true ]
            then echo 部署
        else
            echo 不部署
        fi

        效果:


        舉例2:

        [root@app ~]# response_code=$(curl -I -s www.baidu.com -w %{http_code}|tail -n1)
        [root@app ~]# echo ${response_code}
        200
        [root@app ~]# if [ $response_code == 200 ];then echo true; else echo false; fi
        true
        [root@app ~]# if [ $response_code == 201 ];then echo true; else echo false; fi
        false
        [root@app ~]# if [ $response_code -eq 201 ];then echo true; else echo false; fi
        false
        [root@app ~]# if [ $response_code -eq 200 ];then echo true; else echo false; fi
        true
        注意點:

        1. shell中如果是等于、不等于,既可以用 -eq、-ne (外面需要加中括號),也可以用 == 、!=(外面加中括號或雙括號都行)

        [root@app ~]# response_code=$(curl -I -s www.baidu.com -w %{http_code}|tail -n1)
        [root@app ~]# echo ${response_code}
        200
         
        //   等于
        [root@app ~]# if [ $response_code -eq 200 ];then echo true; else echo false; fi
        true
        [root@app ~]# if [ $response_code -eq 201 ];then echo true; else echo false; fi
        false
        [root@app ~]# if [ $response_code == 200 ];then echo true; else echo false; fi
        true
        [root@app ~]# if [ $response_code == 201 ];then echo true; else echo false; fi
        false
        [root@app ~]# if (( $response_code == 201 ));then echo true; else echo false; fi
        false
        [root@app ~]# if (( $response_code == 200 ));then echo true; else echo false; fi
        true
         
        //  不等于
        [root@app ~]# if [ $response_code -ne 200 ];then echo true; else echo false; fi
        false
        [root@app ~]# if [ $response_code -ne 201 ];then echo true; else echo false; fi
        true
         
        [root@app ~]# if [ $response_code != 200 ];then echo true; else echo false; fi
        false
        [root@app ~]# if [ $response_code != 201 ];then echo true; else echo false; fi
        true
        [root@app ~]# if (( $response_code != 200 ));then echo true; else echo false; fi
        false
        [root@app ~]# if (( $response_code != 201 ));then echo true; else echo false; fi
        true

        2. shell中如果是大于,大于等于,小于,小于等于,用 -gt, -ge,-lt,-le 的話,則需要加中括號。

        [root@app ~]# response_code=$(curl -I -s www.baidu.com -w %{http_code}|tail -n1)
        [root@app ~]# echo ${response_code}
        200
        [root@app ~]# if [ $response_code -gt 200 ];then echo true; else echo false; fi
        false
        [root@app ~]# if [ $response_code -ge 200 ];then echo true; else echo false; fi
        true
        [root@app ~]# if [ $response_code -lt 200 ];then echo true; else echo false; fi
        false
        [root@app ~]# if [ $response_code -le 200 ];then echo true; else echo false; fi
        true

        3. shell中大于、大于等于,小于,小于等于想用 >,>=,<,<=,則需要加雙括號,而不是中括號

        [root@app ~]# response_code=$(curl -I -s www.baidu.com -w %{http_code}|tail -n1)
        [root@app ~]# echo ${response_code}
        200
        [root@app ~]# if (( $response_code > 200 ));then echo true; else echo false; fi
        false
        [root@app ~]# if (( $response_code >= 200 ));then echo true; else echo false; fi
        true
        [root@app ~]# if (( $response_code < 200 ));then echo true; else echo false; fi
        false
        [root@app ~]# if (( $response_code <= 200 ));then echo true; else echo false; fi
        true


        原文鏈接:https://blog.csdn.net/wudinaniya/article/details/104796403


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: shell

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 襄汾县| 南京市| 农安县| 泰宁县| 兴业县| 来宾市| 兴安盟| 屏山县| 图木舒克市| 滦平县| 新乡县| 北海市| 马边| 苗栗市| 博湖县| 保亭| 泸水县| 伊吾县| 岑巩县| 彭山县| 筠连县| 南郑县| 合作市| 随州市| 嫩江县| 临西县| 泸西县| 铁岭市| 朔州市| 阿勒泰市| 桂阳县| 温宿县| 永新县| 女性| 安徽省| 阿坝县| 塔城市| 体育| 吕梁市| 农安县| 库伦旗|