一、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

执行结果:

p_w_picpath

 

p_w_picpath

总结:case条件判断看起来比较简洁,这个脚本中使用了函数调用、while循环语句、case选择语句、read命令和echo命令中的设置颜色功能,总体来说比较简单。只要思路清晰就可以很快的写出来。