一、case语法
case 变量引用(${}) in
value1)
语句1
语句2
…
;;
value2)
语句1
语句2
…
;;
value3)
语句1
语句2
…
;;
*)
语句1
语句2
…
;;
esac
case语句相对if语句比较直观简洁,用法也相对比较简单。
case示例:
根据选项让用户选择,然后根据用户所选选项显示出相应的信息
如果用户选择了第一项,则显示硬盘使用信息
如果用户选择了第二项,则显示内存使用信息
如果用户现在了第三项,则选择CPU负载信息
如果用户选择了第四项,则推出程序
#!/bin/bash
#Version:0.1
#Author:Myb_sir
#Pragram:这是一个case语句的基本用法
#Date:2014-03-30
#shwo()是一个函数,用法也比较简单,主要用在shell脚本中的调用
showmenu(){
echo -n ‘#------------‘
echo -n -e ‘\033[1;32m菜单\033[0m‘
echo ‘------------#‘
echo -e "# \033[31md|D)显示硬盘使用信息\033[0m #"
echo -e "# \033[31mm|M)显示内存使用信息\033[0m #"
echo -e "# \033[31ml|L)显示CPU负载信息\033[0m #"
echo -e "# \033[31mq|Q)退出系统\033[0m #"
echo -n ‘#--------‘
echo -n -e ‘\033[1;32m版权所有:Myb\033[0m‘
echo ‘-------#‘
}
#调用showmenu函数并清除屏幕
clear
showmenu
#提示用户输入一个选项
read -p "请从选项中选择:" Choice
#使用while语句实现循环,只有当用户输入q或者Q时才会退出程序
while [ "$Choice" != "q" -o "$Choice" != "Q" ];do
case $Choice in
d|D)
echo "#########硬盘使用信息#########"
df -lh
;;
m|M)
echo "##########内存使用信息########"
free -m
;;
l|L)
echo "##########CPU负载信息#########"
uptime
;;
q|Q)
echo "############退出系统##########"
exit 5
;;
*)
echo "#########您的输入有误!#######"
;;
esac
#调用showmenu函数
showmenu
#提示用户重新输入选项
read -p "请从选项中选择:" Choice
done执行结果:
总结:case条件判断看起来比较简洁,这个脚本中使用了函数调用、while循环语句、case选择语句、read命令和echo命令中的设置颜色功能,总体来说比较简单。只要思路清晰就可以很快的写出来。
本文出自 “Linux步行街” 博客,请务必保留此出处http://mybsir.blog.51cto.com/4618614/1386929
Linux基础之case条件选择,布布扣,bubuko.com
原文:http://mybsir.blog.51cto.com/4618614/1386929