linux中的条件判断语句

目录

一. test  测试文件的表达式

1.test语法

[ ]:

[[ ]]:

操作符

二. 数值&字符串比较

1. 整数数值比较

2. 字符串比较

3. 短路与(&&)和短路或(||)

①概念:

短路与

短路或

② 用法实验

ping 的脚本:检测本机是否在线



一. test  测试文件的表达式

1.test语法

test  操作符  文件名

[ ]:

相当于test ,[ ]前后需要加上空格,[  操作符  文件名  ]

[[ ]]:

加强版的单个[ ]:支持正则表达式和通配符(这里的通配符是匹配字符的)

[[   == str(通配符)   ]]          [[   =~ str(正则表达式)   ]]    

测试结果:echo  $?,结果为0则为正结果,结果不是0则为负结果。

操作符
-d测试是否为目录(Directory)
-e测试目录或文件是否存在(Exist)
-a测试目录或文件是否存在(Exist)
-f测试是否为文件(File)
-r测试当前用户是否有权限读取(Read)
-w测试当前用户是否有权限写入(Write)
-x测试当前用户是否有权限执行(eXcute)
-L测试是否为软连接文件

二. 数值&字符串比较

1. 整数数值比较

[  整数1  操作符  整数2  ] 

操作符含义
-eq等于(equal)
-ne 不等于(not equal)
-gt 大于(greater than)
-ge 大于或等于(greater or equal)
-lt 小于(lesser than)
-le 小于或等于(lesser or eequal)

2. 字符串比较

操作符含义格式举例
= 字符串内容相同

[  字符串1 = 字符串2  ] 是否相同,

[[  字符串1 == 字符串2  ]] 双括号格式

!= 字符串内容不同,! 号是取反[  字符串1 != 字符串2  ] 是否不相同
-z 字符串内容为空 [   -z  字符串  ]   是否为空
-n 字符是否存在[  -n 字符串  ] 字符是否存在

3. 短路与(&&)和短路或(||)

①概念:

短路与

全真才为真,一假即为假。

cmd1  &&  cmd2    ,cmd1成功执行了才执行cmd2。类似电路串联。

短路或

一真即为真,全假才为假 。

cmd1  ||  cmd2    ,cmd1成功了就不执行cmd2了。类似电路并联

② 用法实验

ping 的脚本:检测本机是否在线

ping的选项: -c:发送包的个数; -W(大写):超时时间  ;-w(小写):多少秒后停止ping操作; -i:发送的间隔时间

脚本:ping -c 3 -i 0.5 -W2 ${ip}$i &> /dev/null && echo "${ip}$i online" || echo "${ip}$i off"

tips:W是大写,要想检测一个范围的ip地址要做循环。可用for循环等(for循环如何写看《for循环》)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值