博客專欄

        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

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 金乡县| 田林县| 汉沽区| 凌云县| 亳州市| 寿阳县| 元氏县| 工布江达县| 紫金县| 黑水县| 玉龙| 遵化市| 铜陵市| 舒兰市| 高安市| 丰城市| 广水市| 汶川县| 大新县| 贵溪市| 晋中市| 阿拉善左旗| 漯河市| 延寿县| 酒泉市| 萨嘎县| 阜阳市| 宁晋县| 西贡区| 望谟县| 彭泽县| 五华县| 曲阳县| 凤台县| 宁远县| 阿坝县| 拜城县| 汾阳市| 普兰店市| 新营市| 临汾市|