case语句以及脚本选项进阶

case 参数值 in

value1)

statement ;;

value2)

statement ;;

....

*)

statement ;;

easc

例子

只接受start,stop,restart,status其中之一

case $1 in

'start')

echo "start service..." ;;

'stop')

echo "stop service..." ;;

'restart')

echo "restart service..." ;;

'status')

echo "service is running..." ;;

*)

echo "`basename $0` {start|restart|stop|status}" ;;

esac

例子2

#/bin/bash

#

declare -i DEBUG=0

declare -i SHOWNUM=0

declare -i SHOWUSERS=0

for I in `seq 1 $#`; do

if [ $# -gt 0 ]; then

case $1 in

-help|--help)

echo "Usage: `basename $0` -h|help -c|--count -v|-verbose"

exit 0 ;;

-v|--verbose)

let SHOWUSERS=1

shift ;;

-c|--count)

let SHOWNUM=1

shift ;;

*)

echo "Usage: `basename $0` -h|help -c|--count -v|-verbose"

exit 0 ;;

esac

fi

done

if [ $SHOWNUM -eq 1 ]; then

echo "Logged users:`who | wc -l` "

if [ $SHOWUSERS -eq 1 ]; then

echo "They are:"

who

fi

fi

results for ""

    No results matching ""