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