首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

shell的case语句中区分字母大小写有关问题

2012-09-04 
shell的case语句中区分字母大小写问题read Keycase $Key in[a-z]) echo Lowercase[A-Z]) echo Upperc

shell的case语句中区分字母大小写问题
read Key
case $Key in
  [a-z]) echo "Lowercase";;
  [A-Z]) echo "Uppercase";;
esac

在执行的时候,无论输入大写字母还是小写字母,都会输出Lowercase,也就是说将所有字母都识别为小写.
如果将脚本中两个语句顺序颠倒一下:除了小写字母'a'之外,都会输出Uppercase, 也就是说将小写a之外的字母都识别为大写

到底是因为什么?

[解决办法]
在网上搜了一下,解决的方法有两种,
一种是在脚本最前面加入如下句:
export LC_ALL=C
另一种是将判断条件作如下改动:
[A-Z]改为[[:upper:]]
[a-z]改为[[:lower:]]
[解决办法]

《鸟哥私房菜》

热点排行