在shell编程中,对于多分支判断,用if 虽然也可以实现,但有些时候,写起来很麻烦,也不容易代码理解。这个时候,可以考虑case。大道理不讲了,先给出个简单的demo吧
[plain]- #! /bin/sh -
- name=`basename $0 .sh` case $1 in
- s|start) echo "start..."
- ;; stop)
- echo "stop ..." ;;
- reload) echo "reload..."
- ;; *)
- echo "Usage: $name [start|stop|reload]" exit 1
- ;; esac
- exit 0
注意:1、*) 相当于其他语言中的default。
2、除了*)模式,各个分支中;;是必须的,;;相当于其他语言中的break
3、 | 分割多个模式,相当于or
此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/57761.html