一、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]#