Kevin_306

06-SHELL脚本编程基础-if/else、case (八)

 优化脚本,使用fi else条件语法

[root@centos7-kevin306 ~]# cat yesorno_if.sh
#!/bin/bash
#
#********************************************************************
#Author:		    Kevin Ma
#QQ: 			    1065015188
#Date: 			    2021-04-05
#FileName:		    yesorno_if.sh
#URL: 			    www.kevin306.cn
#Description:		The test script
#Copyright (C): 	2021 All rights reserved
#********************************************************************
read -p "Are you OK (yes/no)? " answer
if [[ $answer =~ ^([Yy]|[Yy][Ee][Ss])$ ]] ;then
   echo "YES"
elif [[ $answer =~ ^([Nn]|[Nn][Oo])$ ]];then
   echo "No"
else
   echo "Input false,please input yes or no !"
fi 

查看并验证结果:

 

 测试OK

 Case版本、适合变量使用 

格式:

case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac

模板:

case 变量引用 in    (#固定写法)
PAT1)
    分支1
    ;;             (#固定写法2个分号;)     
PAT2)
    分支2
    ;; 
PAT3)
    分支3
    ;;
 ... 
*) (#既不是YES,又不是NO用*,*相当于通配符) 默认分支 ;; esac (#退出)

* 任意长度任意字符

? 任意单个字符

[] 指定范围内的任意单个字符

|   或者,如: a|b 

 测试结果,成功

 

posted on 2021-04-05 02:07  熊猫小虾  阅读(77)  评论(0编辑  收藏  举报

导航