一、case介紹

生產環境下,遇到要根據不同的狀況執行不同的預案的情況,首先根據可能出現的情況寫出對應預案,根據出現的情況來載入不同的預案

特點:根據給予的不同的程式碼塊

二、case語法

case 變數 in
條件1)
執行程式碼塊1
;;
條件2
執行程式碼塊2
;;
......
esac #注意:每個程式碼塊執行完畢要以;;結尾代表結束,case結尾要以倒過來esac結束

三、案例說明

1、輸入引數判斷

[root@localhost test20210729]# vim case_test1.sh

#!/usr/bin/bash

read -p "NUM: " N

case $N in
1)
echo haha
;;
2)
echo hehe
;;
3)
echo heihei
;;
esac

檢視執行結果:

[root@localhost test20210729]# sh case_test1.sh
NUM: 1
haha
[root@localhost test20210729]# sh case_test1.sh
NUM: 2
hehe
[root@localhost test20210729]# sh case_test1.sh
NUM: 3
heihei
[root@localhost test20210729]# sh case_test1.sh
NUM: 4
[root@localhost test20210729]#

2、傳遞引數判斷

[root@localhost test20210729]# vim case_test2.sh

#!/usr/bin/bash

case $1 in
zmn|ZMN)
echo "伯母好"
echo "伯母辛苦了"
;;
lzr|LZR)
echo "伯父好"
echo "伯父好帥"
;;
lnn|LNN)
echo "奶奶好"
echo "奶奶吉祥"
;;
*)
echo "USAGE: $0 zmm|lzr|lnn"

檢視執行結果:

[root@localhost test20210729]# vim case_test2.sh
[root@localhost test20210729]# sh case_test2.sh zmn
伯母好
伯母辛苦了
[root@localhost test20210729]# sh case_test2.sh LZR
伯父好
伯父好帥
[root@localhost test20210729]# sh case_test2.sh lnn
奶奶好
奶奶吉祥
[root@localhost test20210729]# sh case_test2.sh 123
USAGE: case_test2.sh zmm|lzr|lnn
[root@localhost test20210729]#