shell脚本学习之选择语句

case 语句格式:

case value in (表达式)
pattern1)
    command
    ;;
pattern2)
    command
    ;;
*)
   command
esac

实例:菜单选择

#!/bin/bash
Menu=(beef,noodles,rice,juice)
echo "The menu is:"
for i in ${Menu[*]}
do
   echo  "$i"
done
read -p "Please choose one:" food
case $food in
        beef)
         echo "You choose beef!"
        ;;
        noodles)
          echo "You choose noodles!"
        ;;
        rice)
          echo "You choose rice!"
        ;;
        juice)
          echo "You choose juice!"
        ;;
        *)
          echo "Don't have this one!"
        ;;
esac

[root@jiangpeisi shell]# sh menu.sh 
The menu is:
beef,noodles,rice,juice
Please choose one:noodles
You choose noodles!

select 语法格式:

select i in (表达式)
do
   command
done

实例:测试服务状态

#!/bin/bash
PS3="Please enter your select menu:"
select i in http php mysql quit
do
case $i in
        http)
          echo "Test http's state!"
        ;;
        php)
          echo "Test php's state!"
        ;;
        mysql)
          echo "Test mysql's state!"
        ;;
        quit)
          echo "Exit!"
          exit
esac
done

[root@jiangpeisi shell]# sh lnmp.sh
1) http
2) php
3) mysql
4) quit
Please enter your select menu:1
Test http's state!
Please enter your select menu:2
Test php's state!
Please enter your select menu:3
Test mysql's state!
Please enter your select menu:4
Exit!