位置: 编程技术 - 正文

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

  • 净利润跟税后利润是二个概念吗
  • 模具费怎么入账
  • 个人所得税综合所得税率
  • 分销佣金税务处理
  • 公司三年零申报后注销
  • 出售无形资产净收益是收入吗
  • 贸易类公司做产品代理账务如何处理
  • 公司代扣代缴的个人所得税怎么做账
  • 私立医院整容效果都不行吗
  • 企业之间现金换承兑合法吗
  • 材料暂估价比例
  • 购入固定资产挂帐记其他应付款还是应付账款
  • 报销凭证找不到了怎么办
  • 材料成本差异分配率
  • 建筑合同印花税在哪里交
  • 稿酬所得个人所得税计算方法
  • 完税证明可以作为发票吗
  • 没有认证的进项发票怎么入账
  • 销售二手车需要注意什么
  • 土地划转到子公司要多久
  • 学校收到教育局拨款怎么做账
  • 公司活动服装费会计分录
  • 暂估收入的凭证怎么做
  • 已抵扣的固定资产进项税转出如何处理
  • 公司餐饮费怎么做账
  • 遗失发票如何处理好
  • 计提水电费用什么科目
  • 税务局怎么核定征收股权转让的
  • 出租设备的租金计入哪个科目
  • 高手成长礼包
  • 未签订租赁合同租金如何确定
  • 其他业务收入跨年调整
  • 担保赔偿准备金和未到期责任准备金实例
  • php正则表达式实例
  • 什么是收付实现制?什么是权责发生制?
  • 工业企业如何纳税
  • 2023前端面试题目
  • 印花税申报一直显示办理中什么意思
  • 农民工工资专用账户打款比例
  • 基本户理财产品有哪些
  • 法人与财务负责人不应为同一人
  • 工商企业年报网上申报流程
  • 微信红包是否缴纳个税
  • 未开票收入确认错属期滞纳金怎么办
  • 更衣柜分配方案
  • 上年度记错科目怎么调整
  • 资本化支出计入什么科目
  • 微信转账没有显示对方的名字怎么办
  • 股权激励费用摊销意思是
  • 融资租赁资产承租人的账务处理
  • 100%直接控制的母子公司之间,母公司向子公司
  • 小规模增值税减免申报表怎么填
  • 银行账和实际金额对不上
  • 会务费入哪个科目
  • mysql中json格式是多少长度
  • 分页查询效率
  • xp系统怎么提升性能
  • Windows Server 2008下的网络排错
  • ubuntu系统睡眠
  • 联想lenovo thinkpad c13 yoga
  • 永恒之塔改注册表什么意思
  • ubuntu浏览网页
  • ubuntu20.04最小化安装教程
  • ubuntu查看内存占用最多的进程ID
  • 在pc上安装了hp网络打印机需要注意什么
  • win10 6个文件夹
  • exec方法
  • jquery延时器
  • JavaScript中的变量名不区分大小写
  • 什么叫懒加载
  • jquery动态设置css
  • shutil模块 python安装
  • JavaScript中的this指向
  • js进阶视频教程
  • python运行出现none
  • js格式化时间戳
  • 冲减多计提的坏账准备
  • 增值税发票选择确认平台查询不到以开出的进项发票?
  • 异地预缴增值税销售额是含税
  • 补交以前年度城建税费怎么做账
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设