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

测试结果,成功

浙公网安备 33010602011771号