shell 三之if语句以及case 的讲解
Posted 遙遙背影暖暖流星
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 三之if语句以及case 的讲解相关的知识,希望对你有一定的参考价值。
if语句的相关内容
一,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
以上是关于shell 三之if语句以及case 的讲解的主要内容,如果未能解决你的问题,请参考以下文章