在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