关于Linux的case语句中字母大小写判断的问题

很奇怪的问题,case判断的时候只能判断要么小写要么大写,先看下面,主要是字母,小写和大写都判断了

但是执行的时候:

输入大写字母,判断出来是小写,然后将脚本中大小写判断换位置:

执行的时候:又没法判断小写了

数字和其他的判断都没问题,就这个大小写问题。
有人知道原因吗?

换成这个试试字符类 [:lower:]小写和[:upper:]大写
[a-z][A-Z]这种写会被系统当成是一样的,不区分大小写。
你也可以重置所有的本地化设置LC_ALL=C
这样脚本的正则表达式可以正确识别追问

多谢。[[:upper:]]的写法我知道,就是之前不知道系统不区分大小写

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-06-12
两个解决方法:
1、export LANG=C
2、判断条件改下
[A-Z]改为[[:upper:]]
[a-z]改为[[:lower:]]追问

[[:upper:]]这个我知道,只是不知道为什么直接写不行。

不过你的第一种方法也可以解决,为什么这样就可以解决了呢?本来就是英文啊

本回答被提问者采纳
第2个回答  2015-05-22
你把A-Z填写'65'-'90'追问

这个没用,试过了,谢谢。

关于Linux的case语句中字母大小写判断的问题
[a-z][A-Z]这种写会被系统当成是一样的,不区分大小写。你也可以重置所有的本地化设置LC_ALL=C 这样脚本的正则表达式可以正确识别

linuxcase语句linuxcase>
1、数据库名与表名是严格区分大小写的;2、表的别名是严格区分大小写的;3、列名与列的别名在所有的情况下均是忽略大小写的;4、变量名也是严格区分大小写的;MySQL在Windows下都不区分大小写。3、如果想在查询时区分字段值的大小写,则:字段值需要设置BINARY属性,设置的方法有多种:A、创建时设置...

Linux终端大小写字母间的奥秘linux终端大小写
在Linux终端中,字母大小写具有非常严格的划分,字母大写与小写所表示的意思不同,他们是完全独立对待的。回到Linux终端中,我们会发现,使用了大小写字母会出现不同命令的结果,而如果只是改变字母的大小写,则会出现不同的结果,比如使用ls命令查看当前文件夹下的文件,而使用LS命令则会显示更详细的文件夹...

linux下rpm 安装的 mysql表名不区分大小写
1、数据库名严格区分大小写 2、表名严格区分大小写的 3、表的别名严格区分大小写 4、变量名严格区分大小写 5、列名在所有的情况下均忽略大小写 6、列的别名在所有的情况下均忽略大小写 二、设置Mysql表名不区分大小写 1、切换到root用户 su - root 2、修改\/etc\/my.cof配置文件,sed -i '\/\\[...

Linux操作系统知识(4)-mysql 配置增加忽略大小写后服务启动不了_百度...
在部署产品过程中,遇到启动tomcat报错问题,发现是由于MySQL数据库表名大小写不匹配导致。为解决此问题,需在MySQL配置文件中增加忽略大小写设置。步骤如下:1. 编辑MySQL配置文件:cd \/etc\/mysql\/mysql.conf.d\/ sudo vim mysqld.cnf 在文件中增加行 lower_case_table_names=1 保存并退出,确保回到...

请教LINUX主机区分大小写问题??
linux本身就必须区分大小写!他的命令,尤其是选项是要严格区分的

Linux主机目录大小写问题
Linux 系统区分大小写,也就是 A 和 a 是两个不同的文件 jiangtao@Gentoo ~\/test $ touch A jiangtao@Gentoo ~\/test $ touch a jiangtao@Gentoo ~\/test $ ls a A jiangtao@Gentoo ~\/test $ ls -l 总用量 0 -rw-r--r-- 1 jiangtao users 0 3月 26 19:38 a -rw-r--r-- 1...

在Linux下管理MySQL的大小写敏感性
默认情况下,MySQL在Linux上是大小写敏感的,而在Windows上则是大小写不敏感的。这种平台差异可能导致不一致性和潜在错误。MySQL中的大小写敏感行为由lower_case_table_names系统变量控制。在MySQL 5.7版本中,Linux上默认的设置是lower_case_table_names = 0,这意味着表名是大小写敏感的。若要改变此...

linux下rpm 安装的 mysql表名不区分大小写
从你的描述上看,我估计你的\/etc目录下根本就没有my.cnf文件,因为这个文件不可能是空白的。如果你一开始就是直接以vi \/etc\/my.cnf命令执行的话,那我就猜对了。先跟你说一下vi命令,vi \/etc\/my.cnf时,如果\/etc目录下存在这个文件,就打开;如果不存在,就打开一个空白文件,并命名为my.cnf...

...题要求linux 设置密码复杂度,要求数字大小写字母特殊符号这4类必须...
cracklib.so这么一行替换成如下:password requisite pam_cracklib.so retry=5 difok=3 minlen=10 ucredit=-1 lcredit=-3 dcredit=-3 dictpath=\/usr\/share\/cracklib\/pw_dict 参数含义:尝试次数:5 最少不同字符:3 最小密码长度:10 最少大写字母:1 最少小写字母:3 最少数字:3 ...

相似回答