Shell脚本之条件语句
admin
2023-03-06 15:03:27
0

条件测试

1、文件测试
2、整数测试
3、字符串与逻辑测试

if语句:

if单分支语句
if双分支语句
if多分支语句
if嵌套语句

test命令:
测试特定的表达式 是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值。

格式1:test 条件表达式
格式2:[ 条件表达式 ] //注意有空格

文件测试

文件测试是指的是根据给定的路径名称,判断对应的是文件还是目录,或者判断文件是否可读、可写、可执行等。

常用的测试操作符:

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

实际操作:
格式一:

test -d /etc/sysconfig (测试/etc里的sysconfig目录是否存在)
echo $?(输出值为0,则条件成立)
Shell脚本之条件语句

格式二:

[ -d /etc/sysconfig ]
echo $?(输出值为1,则条件不成立)
Shell脚本之条件语句

整数值比较:
格式:[ 整数1 操作符 整数2 ]
常用的测试操作符:

-eq:等于(Equal)
-ne:不等于(Not Equal)
-gt:大于(Greater Than)
-lt:小于(Lesser Than)
-le:小于或等于(Lesser or Equal)
-ge:大于或等于(Greater or Equal)

字符串比较

格式1:[ 字符串1 = 字符串2 ]
[ 字符串1 ! = 字符串2 ]
格式2:[ -z 字符串]
常用的测试i操作符:
=:字符串内容相同
!=:字符串内容不同,!表示相反的意思
-z:字符串内容为空

逻辑测试

格式1:[ 表达式1 ] 操作符 [ 表达式2 ] ...
格式2:命令1 操作符 命令2 ...
常用操作选项
-a或&&:逻辑与,“而且”的意思
-o或||:逻辑或,“或者”的意思
!:逻辑否,表示“不”的意思

if语句:

单分支结构

if 条件测试操作
then
命令序列
fi
Shell脚本之条件语句
Shell脚本之条件语句

双分支结构:

if 条件测试操作
then
命令序列1
else
命令序列2
fi
Shell脚本之条件语句
Shell脚本之条件语句

多分支结构:

if 条件测试操作
then
命令序列1
elif 条件性测试操作2
then
命令序列2
else
命令序列3
fi
Shell脚本之条件语句
Shell脚本之条件语句

if嵌套语句:

实验目的:进行跑步比赛,10秒内进入决赛,输入性别后,分别提示进入男子组还是女子组,使用多重判断,嵌套if实现
Shell脚本之条件语句
Shell脚本之条件语句

相关内容

热门资讯

产业园区招商政府委托媒介选型指... 导语:产业园区招商需兼顾资源整合效率与项目落地精准度,尤其在互联网招商模式下,平台流量、技术团队与资...
“无废城市”建设 | 为新材料... 4月26日,在常山生态工业园区的利安隆科润(浙江)新材料有限公司实验室里,企业品控部负责人、科技副总...
既能防晒又能听歌,还自带AI小... 春夏出门运动,你是不是也常常纠结:到底是戴帽子防晒,还是戴耳机听歌?两个都戴上,耳朵被压得生疼,帽檐...
伊朗警告过往船只远离美军舰艇:... 据美国有线电视新闻网(CNN)5月8日报道,一段录音显示,美伊在霍尔木兹海峡发生冲突后,伊朗革命卫队...
事关汉坦病毒,大西洋小岛牵动多... 5月6日,荷兰“洪迪厄斯”号邮轮停留在佛得角首都普拉亚的近海海域。新华社发(埃尔顿·蒙泰罗摄)发生汉...
上海尼为取得供栈收栈机专利,实... 国家知识产权局信息显示,上海尼为智能科技有限公司取得一项名为“一种供栈收栈机”的专利,授权公告号CN...
Win11终于不卡了!让CPU... 快科技5月8日消息,微软正针对Windows11系统用户体验进行深度优化,内部代号为Project ...
2026户外出行与通勤旗舰手机... 对于经常需要通勤、热爱户外活动的朋友来说,选择一款合适的手机至关重要。它需要满足单手操作的便捷性、坚...
全球科技巨头谷歌入驻广州 5月8日,据广州发布消息,近日全球科技巨头谷歌(Google)正式签订合同,入驻位于天河CBD珠江新...
首届“泉城杯”国际人形机器人全... 济南广电·天下泉城客户端5月8日讯一场跨越国界的智能体育盛宴即将燃爆泉城。2026年首届“泉城杯”国...