shell中的比较运算符

您所在的位置:网站首页 高情商词汇 shell中的比较运算符

shell中的比较运算符

2023-10-07 21:08| 来源: 网络整理| 查看: 265

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中大于、大于等于,小于,小于等于想用 >,>=,= 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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3