码迷,mamicode.com
首页 > 其他好文 > 详细

case

时间:2018-06-18 01:13:30      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:$1   lse   模式   大于   数据库的操作   类型   备份数据库   att   模拟   

case 菜单选择打印 语法: case var in var变量 patten 1) 匹配模式1 a|b|c |和or类似 command... 需要执行的命令 ;; 命令执行完毕 patten 2) command... ;; *) 默认值,没有匹配的模式 command... ;; esac 代表case语句的结束 demo1:当给程序输入start|s时,显示service is running!;stop——>service is stoped;... #!/bin/bash #read -p "请输入参数:" var case $1 in start|s) echo service is running ;; stop) echo service is stoped ;; reload) echo service is reload ;; *) echo xxxxx ;; esac demo2:相互嵌套 #!/bin/bash read -p "小明,你喜欢我吗?(喜欢|不喜欢|爱你):" love case $love in 喜欢) echo "我也喜欢你" ;; 不喜欢) read -p "那你喜欢谁?" who case $who in 小红) echo "她是我的闺蜜" ;; 小彭) echo "额..拜拜" ;; *) echo "我们不合适" ;; esac ;; *) echo "你到底什么意思?" ;; esac demo3:维护菜单选择 #!/bin/bash echo "*********welcome to uplooking*********" echo "*********选择操作类型*******************" echo "**********1——系统**********************" echo "**********2——程序**********************" echo "**********3——数据库********************" echo "**********0——退出**********************" read -p "请选择操作类型:" choose case $choose in 1) echo "你选择的类型是系统维护" ;; 2) echo "你选择的是程序" ;; 3) echo "*********welcome to uplooking*********" echo "*********选择操作类型*******************" echo "**********1——备份**********************" echo "**********2——数据导入导出****************" echo "**********0——退出**********************" read -p "请你输入对数据库的操作:" choose1 case $choose1 in 0) echo "退出" ;; 1) echo "备份数据库" ;; 2) echo "导入导出" ;; *) echo "你要干啥?" ;; esac ;; 0) exit ;; esac 练习: 1、输入一个等级(A—E),查看每个等级的成绩;如输入A,则显示"90分~100分";依次类推 #!/bin/bash read -p "input a grade A-E:" grade case $grade in A) echo "90分~100分" ;; B) echo "80分~89分" ;; C) echo "70分~79分" ;; D) echo "60分~69分" ;; E) echo "0分~60分" ;; *) echo "输入错误" esac 2、模拟一个2人相亲的场景,交互式输入名字、性别、年龄(年龄放在性别判断后) 1>对性别进行判断,如果不输入男或者女,则显示“你是泰国来的码?”如果是男的则对年龄判断: 2>男的年龄大于18岁则显示“某某先生,你结婚了码?”;如果对方回答yes或者结了,则显示“那你来着凑什么热闹?”;如果对方回答no或者没结,则再次询问“那你有房有车吗?”;如果既不说结了也不说没结,则显示“你到底有没有结婚??” 3>问有房有车吗,对方回答有,则显示“咱们去民政局领证吧,正好今天是七夕!”;如果对放回答没有,则显示“不好意思,我去下洗手间...”;如果即不回答有也不回答没有,则显示“请正面回答我的问题??” 4>男的年龄如果小于18岁,则显示“你个小猫孩来着干啥,不好好读书” 5>如果是女的,并且年龄大于18岁,则显示“某某女士,您好”;否则显示“某某小姐,您好” #!/bin/bash read -p "input your name:" name read -p "input your sex:" sex case $sex in man) read -p "input your age:" age if [ $age -gt 18 ];then echo "某某先生,你结婚了码?" read -p "input yes or no:" answer case $answer in yes) echo "那你来着凑什么热闹?" ;; no) read -p "那你有房有车吗?yes or no" answer2 case $answer2 in yes) echo "咱们去民政局领证吧,正好今天是七夕!" ;; no) echo "不好意思,我去下洗手间..." ;; *) echo "请正面回答我的问题??" ;; esac ;; *) echo "你到底有没有结婚??" ;; esac else echo "你个小猫孩来着干啥,不好好读书" fi ;; woman) read -p "input your age:" age if [ $age -gt 18 ];then echo "某某女士,您好" else echo "某某小姐,您好" fi ;; *) echo "你是泰国来的码?" exit ;; esac

case

标签:$1   lse   模式   大于   数据库的操作   类型   备份数据库   att   模拟   

原文地址:https://www.cnblogs.com/skyzy/p/9194216.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!