shell中使用case分支语句

#!/bin/bash 

echo "input your score:"
read score
if [ $score -lt 0 ] || [ $score -gt 100 ]  
then 
	echo "out of range !"
	exit
fi

int=`expr $score / 10`

case $int in 
	10)
		echo "A"
		;;
	9)
		echo "A"
		;;
	8)
		echo "B"
		;;
	7)
		echo "C"
		;;
	6)
		echo "D"
		;;
	*)
		echo "NO PASS"
		;;
esac


测试结果

在这里插入图片描述

#!/bin/bash 

echo -n "Please input >>>"

read var

if [ $var -lt 0 -o $var -gt 100 ]
then 
	echo "input error..."
	exit 
fi

if [ $var -ge 90 ]
then 
	echo "Level A"
elif [ $var -ge 80 ]
then
	echo "Level B"
elif [ $var -ge 70 ]
then
	echo "Level C"
else
	echo "Level D"
fi
	

#!/bin/bash 

echo -n "Please input >>>"

read var

if [ $var -lt 0 -o $var -gt 100 ]
then 
	echo "input error..."
	exit 
fi

case $var in 
	100 | 9? )
				echo "A"
				;;
	 	   8?)
			   	echo "B"
				;;
			7?)
				  echo  "C"
				  ;;
				  	
		  *)  
		  		echo "D"
					;;
esac

#!/bin/bash 

#define date
SCORE=$1

#check data
if [ $# -ne 1 ]
then
	echo "error number of argument !"
	exit
fi

#isdigital
if ! expr $SCORE + 1 &>/dev/null
then
	echo "non-integer argument !"
	exit
fi

#if [ $SCORE -lt 0 -o $SCORE -gt 100 ] 
if [ $SCORE -lt 0 ] || [ $SCORE -gt 100 ]
then
	echo "out of range !"
	exit
fi

#process data
case `expr $SCORE / 10` in
	10)
		GRADE=A
		;;
	9)
		GRADE=A
		;;
	8)
		GRADE=B
		;;
	7)
		GRADE=C
		;;
	6)
		GRADE=D
		;;
	*)
		GRADE=E
esac

#output data
echo your grade is : $GRADE


测试结果

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值