多分支case条件语句

概念

  • case语句和if...elif...else语句一样都是多分支条件语句,不过和if多分支条件语句不同的是,case语句只能判断一种条件关系,而if语句可以判断多种条件关系。
  • case适用列表,选项型判断,执行速度比if更快

格式

  • case $变量名 in
  •   “值1”)
  •     如果变量的值等于1,则执行程序1
  •     ;;
  •   “值2”)
  •     如果变量的值等于2,则执行程序2
  •     ;;
  •   …省略其他分支…
  •   *)
  •     如果变量的值都不是以上的值,则执行此程序
  •     ;;
  • esac

例子

需求:选择你要前往的城市,系统自动给出出现方案

脚本:

#!/bin/bash

echo "前往上海输入:1"
echo "前往杭州输入:2"
echo "前往美国输入:3"

read -t 30 -p "请输入目的地代号:" local

case $local in
  "1")
    echo "前往上海可以乘坐高铁、飞机、游轮"
    ;;
  "2")
    echo "前往杭州可以乘坐高铁、飞机"
    ;;
  "3")
    echo "美国东风快递直达"
    ;;
  *)
    echo "输入有误"
    ;;
esac

Shell多分支case语句 - 语句简介及实例_条件语句

Shell多分支case语句 - 语句简介及实例_Shell_02