case
执行流程:
首先使用变量值与数值1进行比较,若取值相同则执行数值1后的命令序列,直到遇见双分号;; 后跳转至esac,表示分支结束;若与数值1不相匹配,则继续与数值2 进行比较,若取值相同则执行数值2 后的命令序列,直到遇见双分号;; 后跳转至esac,表示结束分支,……依次类推,若找不到任何匹配的值,则执行默认模式*) 后的命令序列,直到遇见esac后结束分支。
格式:
case 变量值 in
数值1)
命令序列
;;
数值2)
命令序列
;;
…
*)
默认命令序列
esac
案例
例子1:记者采访下班回家交通工具,通过case判断市民采取的交通工具
#!/bin/bash
#date:2020-11-26
#用case做一个场景
echo "交通工具选择:"
echo "1.公交"
echo "2.开车"
echo "3.骑车"
read -p "请问您下班选择什么交通工具呢?" choose
case $choose in
1|公交)
echo -e "我:我选择坐公交"
echo -e "记者:好的"
;;
2|开车)
echo -e "我:我选择开车"
echo -e "记者:好的"
;;
3|骑车)
echo -e "我:我选择骑车"
echo -e "记者:好的"
;;
*)
echo -e "我:我选择$choose"
echo -e "记者:抱歉,不能提供$choose"
esac
在第一个判断条件中,1|公交)是或的关系
执行结果如图:
sh case02.sh
交通工具选择:
1.公交
2.开车
3.骑车
请问您下班选择什么交通工具呢?1
我:我选择坐公交
记者:好的
[root@allan c