case var in
pattern 1)
command1
;;
pattern 2)
command2
;;
pattern 3)command3;;
*)
comand4
;;esac====================
var表示变量,
*)不满足以上的默认执行
;; 结束
| 表示或的意思
1.2 案例
1.2.1 当给程序传入start、stop、reload三个不同参数时分别执行相应命令。
#!/bin/bashcase$1in
start|S)echo"service is runing....";;
stop|T)echo"service is stoped...";;
reload|R)echo"service is restart...";;
*)echo"shuru";;esac
#!/bin/bash#模拟一个多任务维护界面。当执行程序时先显示总菜单,然后进行选择后做相应维护监控操作cat<<EOF
h 显示命令帮助
f 显示磁盘分区
d 显示磁盘挂载
m 查看内存使用
u 查看系统负载
q 退出程序
EOFwhiletruedoread -p "请选择你要进行的操作:" dz
case$dzin
h)cat<<EOF
h 显示命令帮助
f 显示磁盘分区
d 显示磁盘挂载
m 查看内存使用
u 查看系统负载
q 退出程序
EOF;;
f )fdisk -l
;;
d )df -h
;;
m )free -h
;;
u )uptime;;
q )exit;;
* )echo"输入错误:。。。。";;esacdone
1.2.4 函数的方式
#!/bin/bash#模拟一个多任务维护界面。当执行程序时先显示总菜单,然后进行选择后做相应维护监控操作menu(){cat<<EOF
h 显示命令帮助
f 显示磁盘分区
d 显示磁盘挂载
m 查看内存使用
u 查看系统负载
q 退出程序
EOF}whiletruedo
menu
read -p "请选择你要进行的操作:" dz
case$dzin
h)
menu
;;
f )fdisk -l
;;
d )df -h
;;
m )free -h
;;
u )uptime;;
q )exit;;
* )echo"输入错误:。。。。";;esacdone