通过代码来给大家做个示例。

 
  
  1. #!/bin/bash 
  2.  
  3. function  install_mysql(){ 
  4.         echo mysql ready. 
  5.  
  6. function  install_php(){ 
  7.         echo php ready. 
  8.  
  9. function  install_nginx(){ 
  10.         echo nginx ready. 
  11.  
  12. case $1 in 
  13. install_mysql) 
  14.         install_mysql;; 
  15. install_php) 
  16.         install_php;; 
  17. install_nginx) 
  18.         install_nginx;; 
  19. *) 
  20.         echo "Usage:`basename $0` {install_mysql|install_php|install_nginx}";; 
  21. esac 

 

下面给大家贴一个shell中case的一个语法结构

 
  
  1. case $arg in   
  2.     pattern | sample) # arg in pattern or sample   
  3.     ;;   
  4.     pattern1) # arg in pattern1   
  5.     ;;   
  6.     *) #default   
  7.     ;;   
  8. esac  

 

大家可以看到:case中是可以使用正则表达式的,这是很多其他语言所不具备的。

执行结果给大家贴一下: 

 
  
  1. [root@localhost sh]# sh function.sh  
  2. Usage:function.sh {install_mysql|install_php|install_nginx} 
  3. [root@localhost sh]# sh function.sh install_mysql 
  4. mysql ready.