Use case branch statement in shell

#!/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


Test Results

Insert picture description here

#!/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


Test Results

Insert picture description here

Guess you like

Origin blog.csdn.net/zxy131072/article/details/108527841