首页 > 其他 > 详细

case判断

时间:2019-01-02 23:57:34      阅读:289      评论:0      收藏:0      [点我收藏+]
格式 case 变量名 in
value1) #当
command
;;
value2)
command
;;
*) ##除此之外。
commond
;;
esac
在case程序中,可以在条件中使用|,表示或的意思, 比如
2|3) # 2或者3
command
;;

shell脚本案例
#!/bin/bash
read -p "Please input a number: " n #read,让用户输入一些字符串,与用户发生交互时,用此命令,用户可以直接输入。用户输入之后,获取用户所输入的值,并作为判断条件。n表示获取的变量名,用户输入什么,最终的n就是什么。
if [ -z "$n" ] #-z,表示为空时,解释就是:如果$n为空时,
then
echo "Please input a number." #打印"Please input a number"
exit 1 #返回退出
fi

n1=echo $n|sed ‘s/[0-9]//g‘ #如果输入的是字母+数字,或者纯字母,将数字做清空处理。
if [ -n "$n1" ] #当变量n1不为空时(就是代表只有字母的时候)
then
echo "Please input a number." #显示,请输入数字
exit 1 #返回并退出
fi

if [ $n -lt 60 ] && [ $n -ge 0 ] #当输入的数字小于60,并且大于等于0的时候
then
tag=1 #tab标记,如果上面的成立,标记为1
elif [ $n -ge 60 ] && [ $n -lt 80 ] #当输入的数字大于等于60,并且小于80的时候
then
tag=2 #标记为2
elif [ $n -ge 80 ] && [ $n -lt 90 ] #当输入的数字大于等于80,并且小于90的时候
then
tag=3 #标记为3
elif [ $n -ge 90 ] && [ $n -le 100 ] #当输入的数字大于等于90,并且小于等于100的时候
then
tag=4 #标记为4
else #否则
tag=0 #标记为0
fi
case $tag in
1) #当满足第一个条件时,显示not ok
echo "not ok"
;;
2) #当满足第二个条件时,显示ok
echo "ok"
;;
3) #当满足第三个条件时,显示ook
echo "ook"
;;
4) #当显示第四个条件时,显示oook
echo "oook"
;;
*) #除过上面的条件时,
echo "The number range is 0-100."
;;
esac #if fi 一样的意思

read -p "Please input a number: " n #与用户发生交互,
技术分享图片
技术分享图片

case判断

原文:http://blog.51cto.com/13451715/2338073

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!