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