shell 三之if语句以及case 的讲解

一,if语句

1.if单分支语句

格式

if  条件测试操作
	then  命令序列
fi   #表示结束
	

流程图
在这里插入图片描述

2、if双分支语句

格式

if 条件测试操作
	then 命令序列1
	else 命令序列2
fi

流程图
在这里插入图片描述

3、if多分支语句

if 条件测试操作1
	then 命令序列1
elif 条件测试操作2
	then 命令序列2
esle 
	命令序列3
fi

在这里插入图片描述

二、case 分支语句

case可以对某个变量等于多种取值进行匹配,与if类似,当case比较直接,只考虑一种变量,但不如if语句灵活多变
格式

case 变量值 in
模式1)             #一个右括号,里面为变量的可能情况
	命令序列1        
	;;         #相当于操作的不能的结束符号
模式二)      #不要重新case 变量 in
	命令序列2
	;;
	.......
*)           #*号表示其他情况,和else类似
	默认命令序列	
esac        #表示case语句的结束

在这里插入图片描述

第一题判断合格优秀
#!/bin/bash

#判断学生的成绩
read -p "请输入分数:" score
if [ $score -lt 0 -o $score -gt 100 ]; then
        echo "超过范围无法判断"

elif [ $score -ge 85 -a $score -le 100 ] ; then
        echo "优秀"

elif [ $score -ge 60 -a $score -lt 85 ]; then
        echo "及格"

else
        echo "不及格"

fi

第二种方法判断成绩是否及格(case)
read -p "请输入成绩:" num
case $num in
8[5-9]|9[0-9]|100)         #注意case用到一个数字范围时,他只辨别0-9,超出的多位数需要像这样表示
echo "优秀" ;;

8[0-4]|7[0-9]|6[0-9])
echo "及格" ;;

[0-9]|1[0-9]|2[0-9]| 3[0-9]| 4[0-9]| 5[0-9] )
echo "不及格" ;;

*)
echo "超出范围"

esac



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值