shell中的比较运算符

发布时间:2024-12-10 06:25

购买旅游产品时,比较旅行社套餐和自由行,看看哪种更符合预算。 #生活常识# #购物消费建议# #性价比对比#

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

网址:shell中的比较运算符 https://www.yuejiaxmz.com/news/view/431814

相关内容

用PHP中的 == 运算符进行字符串比较
shell 中的EOF使用
shell 脚本学习之一
打造高效的工作环境 – SHELL 篇
用运算符“ == ”比较字符串对象时,只要两个字符串包含的是同一个值,结果便为
相等运算符运算规则,解释[]==[],[]==![],{}=={},{}==!{}
subprocess.call(cmd, shell=True)
python运算符
shell整理(28)===找规律写shell
shell整理(35)====模拟用户登录的打印菜单脚本

随便看看