位置: 编程技术 - 正文

shell脚本中case条件控制语句的一个bug分析(linux脚本case)

编辑:rootadmin

在shell脚本中,发现case语句的一个问题。就是指定小写字母[a-z]和大写字母[A-Z]的这种方法不管用了。

出现如下情况:

可以看到当输入大小写字母都会输出“Lowercase letter”

就当我疑惑不解的时候,奇迹发生了。。。。

当输入大写Z的时候,终于出现了我们想要的结果:Uppercase letter后来在man bash文档中也没有关于"-"代表范围的说明,值说想匹配"-",就把"-"放到[]中最前面或者最后面。case word in [ [(] pattern [ | pattern ] ... ) list ;; ] ... esacA case command first expands word, and tries to match it against each pattern in turn, using the same matching rules as for pathnameexpansion (see Pathname Expansion below). The word is expanded using tilde expansion, parameter and variable expansion, arithmetic sub-stitution, command substitution, process substitution and quote removal. Each pattern examined is expanded using tilde expansion, param-eter and variable expansion, arithmetic substitution, command substitution, and process substitution. If the shell option nocasematch isenabled, the match is performed without regard to the case of alphabetic characters. When a match is found, the corresponding list isexecuted. If the ;; operator is used, no subsequent matches are attempted after the first pattern match. Using ;& in place of ;; causesexecution to continue with the list associated with the next set of patterns. Using ;;& in place of ;; causes the shell to test the nextpattern list in the statement, if any, and execute any associated list on a successful match. The exit status is zero if no patternmatches. Otherwise, it is the exit status of the last command executed in list.

再看下面这段代码:

可以看出来它的编码方式是:aAbBcCdDeE...yYzZ所以才会出现这种情况。这也算是一个小bug吧,如果想真的想达到我们想要的结果,可以用posix的[:upper:]。个人想法:有时候出现这种情况也不是个坏事,或许还可以利用这个bug去做点事。

推荐整理分享shell脚本中case条件控制语句的一个bug分析(linux脚本case),希望有所帮助,仅作参考,欢迎阅读内容。

shell脚本中case条件控制语句的一个bug分析(linux脚本case)

文章相关热门搜索词:shell case命令,shell case命令,shell脚本 case,shellcase语句,shellcase语句,shell脚本 case,shell脚本的case语句,shell脚本 case,内容如对您有帮助,希望把文章链接给更多的朋友!

shell编程基础之认识与学习BASH 1、认识Bash通过Shell将输入的指令与Kernel沟通,让Kernel控制硬件工作查看Shell:cat/etc/shell登录后预设的shell类型记录在/etc/passwd中,与账户相关命令别名:al

linux基础之Shell Script入门介绍 linux基础之ShellScript1ShellScipt使用指令和基本程序设计结构写成的程序,可以完成复杂的处理流程1.1程序书写#!/bin/bash#Program:#Thisprogramshows"HelloWrold"inyourscre

更改linux用户登录shell的操作方法 1、查看机器安装了哪些shell?有两种方法可以查看。第一种:[rocrocket@wupengchong~]$chsh-l/bin/sh/bin/bash/sbin/nologin/bin/zsh第二种:[rocrocket@wupengchong~]$cat/etc/shells

标签: linux脚本case

本文链接地址:https://www.jiuchutong.com/biancheng/376766.html 转载请保留说明!

上一篇:一个shell for循环与case结合的脚本(监控程序状态)(shell for循环执行命令)

下一篇:shell编程基础之认识与学习BASH(shell编程总结)

  • 企业所得税退税的会计分录怎么做
  • 代扣代缴消费税的会计分录
  • 建筑业差额纳税怎么算
  • 所得税申报时成本数据填错怎么办
  • 报税界面
  • 有限合伙企业利润先税后分
  • 营改增建筑安装服务发票要求
  • 税务记账保存多少年纳税人转小规模
  • 其他应付款冲销怎么做
  • 施工单位对分包单位能罚款吗
  • 原材料加工费怎么入账的
  • 企业收取多年租金怎么算
  • 单位购买小汽车一次性进成本报表怎么填写?
  • 农村合作社开具的专用发票免税吗
  • 如何查询进项发票是否作废
  • 租给公司仓库要发票怎么办
  • 旅游服务费计入什么费用
  • 社保发票是普票还是专票
  • 固定资产增值税怎么抵扣
  • 营改增前的工程款现在怎么开票
  • 非公司私营企业属于什么类型
  • 关于增值税发票开具的最新规定
  • 工商年度报表怎么打印出来
  • 进项税额大于销项税额怎么办
  • 给别人代付
  • 所得税费用什么时候结转
  • 需要缴纳消费税的委托加工存货,由受托方
  • 房地产企业土地出让金抵减销项税额
  • 公积金发放怎么自动转入银行卡
  • 微软雅黑字体一般用在哪里
  • 债券的到期收益率取决于
  • 小型微利企业所得税率
  • 苹果14出来13会下架吗
  • 默认网关不可用怎么修复
  • 分公司 股东
  • 普通发票红冲需要填信息表吗
  • 折扣促销方式
  • 企业内部研究开发项目开发阶段的支出
  • 康沃尔公国范围
  • 如何免费使用超级简历
  • php获取当前访问目录
  • 房地产企业销售佣金税前扣除
  • sortable js
  • 图像分类实战
  • 命令提示符用不了怎么办
  • 开票软件是什么图标
  • 织梦网站老是被挂马
  • 在linux服务器中新增加一块硬盘
  • 帝国cms会员发布信息数量
  • 印花税怎么申报2023
  • 公司不按股权比例分红是否合法
  • 有材料成本差异的材料入库会计分录
  • sql server 2008 r2教程
  • 工会经费如何支出
  • 应交增值税结转凭证
  • 资产减值损失年报怎么调整
  • 坏账准备与应收账款的影响有哪些
  • 红字发票可以跨月入账吗
  • 一正一负发票要做凭证吗
  • 利息收入是不是企业的收入
  • 小规模纳税人如何计算增值税
  • 在windows中创建用户的步骤
  • win8系统一直重启
  • centos state down
  • 查看win8.1版本
  • win8系统怎样
  • win10下itunes
  • [置顶] 《诸天星河》
  • js的?
  • 人工智能最受欢迎的一门编程语言
  • python%i
  • js的事件绑定
  • javascript控制语句
  • 转义字符对应英文
  • 前端js优化
  • php爬取网页数据
  • 快速学会java
  • 为什么国税网上申报不了
  • 劳务报酬预缴税率表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设