shell中的比較運(yùn)算符 -eq -ne -gt -lt -ge -le 及 == != 與 邏輯運(yùn)算符$$ || !
shell中的比較運(yùn)算符:
-eq //等于
-ne //不等于
-gt //大于 (greater)
-lt //小于 (less)
-ge //大于等于
-le //小于等于
命令的邏輯關(guān)系:
在 linux 中命令執(zhí)行狀態(tài):0 為真,其他為假 。
$? 是顯示最后命令的退出狀態(tài),0 表示沒(méi)有錯(cuò)誤,其他(比如1等)表示有錯(cuò)誤
————————————————
shell中的邏輯運(yùn)算符: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注意點(diǎn):
[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 的話,則需要加中括號(hào)。
[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中大于、大于等于,小于,小于等于想用 >,>=,<,<=,則需要加雙括號(hào),而不是中括號(hào)
[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
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。