Shell脚本之case判断

case 语句和 if...elif...else 语句一样都是多分支条件语句,区别是case 语句只能判断一种条件关系,而 if 语句可以判断多种条件关系。

一、case语句格式

case $a in
value1|value2)
    statement1
    ;;
value3|value4)
    statement2
    ;;
*)
    statement3
    ;;
esac

说明:如果$a的值为value1或者value2,则执行statement1语句;如果$a的值为value3或者value4,则执行statement2语句;如果$a为其他值,则执行statement3语句。

二、示例

#!/bin/bash
##
##Author:scott

start_service ()
{
    /etc/init.d/mysqld start
    /etc/init.d/httpd start
}

stop_service ()
{
    /etc/init.d/httpd stop
    /etc/init.d/mysqld stop
}

case $1 in
start)
    start_service
    ;;
stop)
    stop_service
    ;;
restart)
    stop_service
    start_service
    ;;    
*)
    echo $"Usage: {start|stop|restart}"
    exit 1
  ;;
esac exit 0

猜你喜欢

转载自www.cnblogs.com/itbox/p/12098974.html