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