Shell编程之条件语句章
admin
2023-03-06 20:21:22
0
条件测试:

1、文件测试

2、整数测试

3、字符串与逻辑测试

if语句:

1、if单分支语句

2、if双分支语句

3、if多分支语句

4、if嵌套语句

test命令:

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

格式1:test 条件表达式
格式2:[ 条件表达式 ]       //注意有空格
文件测试:
格式:[ 操作符 文件或目录 ]
常用的测试操作符:
1、-d:测试是否为目录(Directory)
2、-e:测试目录或文件是否存在(Exist)
3、-f:测试是否为文件(File)
4、-r:测试当前用户是否有权限读取(Read)
5、-w:测试当前用户是否有权限写入(Write)
6、-x:测试当前用户是否有权限执行(eXcute)

举例说明:

方法一:test -d /etc/sysconfig(测试etc目录下是否有sysconfig这个文件或者目录存在)   
              echo $?(进行条件判断,如果由此文件输出结果为0值)
方法二:[ -d /etc/sysconfig ]
              echo $?(进行条件判断,如果无此文件输出结果为非0值,就是1)
整数值比较:
格式:[ 整数1 操作符 整数2 ]
常用的测试操作符:
1、-eq:等于(Equal)
2、-ne:不等于(Not Equal)
3、-gt:大于(Greater Than)
4、-lt:小于(Lesser Than)
5、-le:小于或等于(Lesser or Equal)
6、-ge:大于或等于(Greater or Equal)

Demo1 :

目的:查看目录下是否有我们需要的文件,若没有则直接创建。具体操作如下:

[root@localhost ~]#  ! test -e /etc/ssc && touch /etc/ssc(查看在etc目录有是否有ssc文件,如果没有直接在此目录下创建)
[root@localhost ~]# cd /etc(验证:进入etc目录下)
[root@localhost etc]# ls(查看详细信息,此时可以找到我们创建的sscw文件)
字符串比较:
格式1:[ 字符串1 = 字符串2 ]
​            [ 字符串1 ! = 字符串2 ]
格式2:[ -z 字符串]
常用的测试i操作符:
1、=:字符串内容相同
2、!=:字符串内容不同,!表示相反的意思
3、-z:字符串内容为空
逻辑测试:
格式1:[ 表达式1 ] 操作符 [ 表达式2 ] ...
格式2:命令1 操作符 命令2 ...
常用的测试操作符:
1、-a或&&:逻辑与,“而且”的意思
2、-o或||:逻辑或,“或者”的意思
3、!:逻辑否
1、单分支结构:

Shell编程之条件语句章

2、双分支结构:

Shell编程之条件语句章

3、多分支结构:

Shell编程之条件语句章

if语句应用示例:

1.单分支if语句
2.双分支if语句:

判断目标主机是否存活,显示检测结果

Shell编程之条件语句章

3.多分支if语句:

判断分数范围,分出优秀、合格、不合格三挡

Shell编程之条件语句章

Demo2(判断成绩):

使用单分支实现:


vim source.sh
#!/bin/bash
read -p "请输入整数" src
if [ $src -le 50 ]
 then 
    echo "数字太小"
fi
chmod +x source.sh
./source.sh

使用双分支实现:(进入创建的执行文件中进行修改)

vim source.sh
#!/bin.bash
read -p "请输入整数" src
if [ $src -le 50 ]
 then 
    echo "数字太小"
 else
    echo "数字太大"
fi

使用多分支实现:(进入创建的执行文件中进行修改)

vim source.sh
#!/bin.bash
read -p "请输入整数" src
if [ $src -ge 85 ]&& [ $src -le 100 ]
 then 
    echo "$src成绩优秀"
elif [ $src -ge 70 ] && [ $src -le 84]
 then
    echo " $src成绩合格"
 else
    echo "成绩不合格"
fi

Demo3:

实验环境:进行跑步比赛,10秒内进入决赛,输入性别后,分别提示进入男子组还是女子组,使用多重判断,嵌套if实现

具体在执行文件中输入内容如下图:

Shell编程之条件语句章

相关内容

热门资讯

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