在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