一、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命令中的设置颜色功能,总体来说比较简单。只要思路清晰就可以很快的写出来。