1. 程式人生 > >shell編程--case判斷

shell編程--case判斷

case shell if

case基礎語法:
格式 case??變量名 in
value1)
command
;;
value2)
command
;;
*)
commond
;;
esac
在case程序中,可以在條件中使用|,表示或的意思, 比如? ??
2|3)
command
;;
腳本

[root@lynn-04 shell]# vim case.sh

 #!/bin/bash
read -p "Please input a number: " n
if [ -z "$n" ]
then
    echo "Please input a number."
    exit 1
fi

n1=`echo $n|sed ‘s/[0-9]//g‘`
if [ -n "$n1" ]
then
 echo "Please input a number."
 exit 1
fi

if [ $n -lt 60 ] && [ $n -ge 0 ]
then
    tag=1
elif [ $n -ge 60 ] && [ $n -lt 80 ]
then
    tag=2
elif [ $n -ge 80 ]  && [ $n -lt 90 ]
then
    tag=3
elif [ $n -ge 90 ] && [ $n -le 100 ]
then
    tag=4
else
    tag=0
fi
case $tag in
    1)
        echo "不及格"
        ;;
    2)
        echo "及格"
        ;;
    3)
        echo "優秀"
        ;;
    4)
        echo "非常優秀"
        ;;
    *)
        echo "The number range is 0-100."
        ;;
esac

執行結果

[root@lynn-04 shell]# sh case.sh
Please input a number: 50
不及格
[root@lynn-04 shell]# sh case.sh
Please input a number: 60
及格
[root@lynn-04 shell]# sh case.sh
Please input a number: 80
優秀
[root@lynn-04 shell]# sh case.sh
Please input a number: 90
非常優秀
[root@lynn-04 shell]# sh case.sh
Please input a number: 116
The number range is 0-100.
[root@lynn-04 shell]# sh case.sh
Please input a number: aaa
Please input a number.

shell編程--case判斷