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
测试结果,成功