bash中case的用法
看到一些很实用的脚本,由于之前对于bash脚本的积累都比较离散,没有一个全面的了解,在这里记录一下:
bash的case语句用法
case语句的语法规则是:
case $变量名 in 模式1)命令序列1;;模式2)命令序列2;; *)默认执行的命令序列 ;; esac
注意的是, case比较的是pattern,然后既然是通配符,那么:
- 切记通配符本身不能用引号括起来。
- 而对于变量VAR是否使用双引号括起来都可以。
- 另外要记住通配符(pattern)和规则表达式(regular expression)的区别。
匹配模式中可是使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或。 最后的“*)”表示默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“*)”后的命令序列。
case语句实例:由用户从键盘输入一个字符,并判断该字符是否为字母、数字或者其他字符, 并输出相应的提示信息。
#!/bin/bash read -p "press some key ,then press return :" KEY case $KEY in [a-z]|[A-Z]) echo "It's a letter." ;; [0-9]) echo "It's a digit." ;; *) echo "It's function keys、Spacebar or other ksys." esac
case word in [ pattern [ | pattern ] ... ) list ;; ] ... esac
case/esac的标准用法大致如下:
case $arg in
pattern | sample) # arg in pattern or sample
;;
pattern1) # arg in pattern1
;;
*) #default
;;
esac
arg是您所引入的参数,如果arg内容符合pattern项目的话,那麽便会执行pattern以下的程式码,而该段程式码则以两个分号";;"做结尾。
可以注意到"case"及"esac"是对称的,如果记不起来的话,把"case"颠倒过来即可。
case语句匹配的是通配符,如果加上双引号后就不是按通配符处理,而是按文本处理。
使用双引号后通配符就不再生效 ,只是作为普通字符对待。
转载于:https://www.cnblogs.com/J1ac/p/10988210.html
bash中case的用法相关推荐
- IsNull 和 SQL语句中CASE WHEN用法
[转]IsNull 和 SQL语句中CASE WHEN用法收藏 [转]IsNull 和 SQL语句中CASE WHEN用法 1.ISNULL 使用指定的替换值替换 NULL. ...
- Oracle中case when用法
转载自:http://www.cnblogs.com/eshizhan/archive/2012/04/06/2435493.html CASE WHEN 表达式有两种形式 --简单Case函数 CA ...
- update case when 多字段,多条件, mysql中case when用法
文章目录 前言 sql示例 普通写法: update case when写法 update case when 多字段写法 case when语法 case when 的坑 1.不符合case whe ...
- MySQL中Case When用法详解
最近,在学习Hive基础知识时,遇到了遇到了Case When Else End语法,以前学习MySQL时忽略了这部分知识点,现总结一下相关的知识给大家.首先练习一个例子如下: 一.学生课程成绩统计 ...
- SQLServer中Case的用法
< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> CASE 可能是 SQL ...
- Linux中case的用法
case命令会将指定的变量与不同模式进行比较.如果变量和模式是匹配的,那么shell会执行为该模式指定的命令.可以通过竖线操作符在一行中分隔出多个模式. 星号会捕获所有与已知模式不匹配的值. #!/b ...
- mybatis中case when用法以及@Param用法
https://libusi.blog.csdn.net/article/details/108044060 select d.tools_name, null as sum,null as num ...
- java中case when用法_CASE WHEN 的简单用法
CASE有两种格式 简单CASE函数:case sex when 1 then '男'when 0 then '女'else 其他 end CASE搜索函数: case when sex=1 the ...
- python中case的用法_python中Switch/Case实现的示例代码
python 的 python中Switch/Case实现的示例代码 学习Python过程中,发现没有switch-case,过去写C习惯用Switch/Case语句,官方文档说通过if-elif实现 ...
最新文章
- Matplot pyplot绘制单图,多子图不同样式详解,这一篇就够了
- 【官宣·第一弹】2021中国肠道大会7条重要消息
- 神经网络php代码,慢慢研究
- pku 1185 炮兵阵地
- yolo算法_吴恩达深度学习笔记(100)-目标检测之YOLO 算法讲解
- oracle重命名日志成员出错,Oracle日志文件
- 51nod1836-战忽局的手段【期望dp,矩阵乘法】
- NodeJs——(14)express框架的send()方法简介
- 在eclipse中引入mybatis和spring的约束文件
- 【自动化测试工具】QTP/UFT入门
- STM32串口波特率计算问题和常用波特率
- 横向堆积柱状图(peak distribution)
- [哈佛幸福课13 听后感]
- 手机无线投屏到linux电脑,scrcpy - 手机无线投屏到电脑
- EXCEL的去重去除某个字段后全部操作
- 移动GIS开发:手机基站定位+离线切片地图(矢量vtpk+栅格tpk)导航安卓APP
- 什么是bcd码数据传输通讯_数据传输 数据通讯
- 结束时间和开始时间不能大于31天
- 基于51单片机的简易游戏机
- ubuntu 8.04玩魔兽争霸