位置: 编程技术 - 正文

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编程总结)

  • 如何确定开票税率是否正确
  • 个人出租房屋需要办理什么手续
  • 小规模纳税人季报还是月报?
  • 个税app抵扣多少钱怎么查询
  • 小规模普票专票税率一样吗
  • 资本回收系数等于什么系数与利率之和
  • 银行汇票使用流程举例
  • 应付账款坏账处理说明
  • 利税总额计算公式表
  • 刚开始建账银行有存款怎么录
  • 投资性房地产的处置账务处理
  • 取得农产品流通环节免税发票可以扣抵吗?
  • 核定征收的企业所得税怎么算
  • 合伙企业需要缴纳什么税
  • 办公室租金相关法规
  • 虚开进项税额转出会计分录
  • 预收房租款如何入账
  • 处置固定资产损失的账务处理
  • 出口退税限额如何理解
  • 仓库的租赁费
  • 长时间不操作电动座椅会发生什么
  • 其他应收款会计科目
  • system 命令
  • 哪里有办各种真实有效的证的
  • 老大心态是什么意思
  • 坏账的税务处理方法
  • vue-html
  • 企业缴纳职工社保政策
  • 若依框架前后端分离手机号登录
  • 黄喉蜂虎鸟是保护动物吗
  • 搬迁补偿费属于什么费
  • 油卡预付卡发票能入费用吗怎么入账
  • 申请专利费用计入哪个科目
  • 网络安全网页设计作品构思
  • php dirname函数
  • 融资租赁后续会计处理
  • vue3.0 main.js
  • java的基本
  • jsp标签大全
  • 简单易学的前端框架
  • 现金等价物是指企业持有的
  • python 协程 yield
  • python中的函数调用
  • mysql 随机
  • 以前年度多计管理费用怎么调整
  • 固定资产清理的借贷方向表示什么
  • 小规模减免的增值税要交所得税吗
  • 以前年度漏扣个税怎么处理
  • 收到设计费属于什么业务类型
  • 存货盘亏有哪些情况
  • 财政补助结转余额在借方还是贷方
  • 外购白酒继续生产白酒
  • 企业里面不征税的有哪些
  • 利息收入为什么冲减财务费用
  • 报销差旅费属于付款凭证还是收款凭证
  • 哪些业务需要计提国别风险准备金
  • 会计建账的步骤
  • 应付利息怎么记账
  • sql server重新安装步骤
  • mybatis特殊字符查询出来编码了
  • 联想随笔
  • windows软件类型最新版本
  • win8搜索程序和文件在哪里
  • ubuntu如何启动
  • 应用商店如何更新软件
  • win8安全和维护在哪
  • WIN10开始菜单点不动
  • win7怎么连接耳机蓝牙
  • cocos2dx运行原理
  • shell脚本语句
  • angular重新渲染组件
  • android的布局文件
  • unity3d坐标转换平面坐标代码
  • javascript获取数据类型
  • python中set用法
  • 税务备案超过15天
  • 汽车销售流程有哪些环节?每个环节的主要内容是什么?
  • 年度纳税申报基础信息表怎么填
  • 税务行业微信缴税项目是什么消费
  • 晋阳学堂实验学校学费多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设