+ -
当前位置:首页 → 问答吧 → bash的一个奇怪问题:ls [a-z]*,为啥会显示大写字母开头的文件?

bash的一个奇怪问题:ls [a-z]*,为啥会显示大写字母开头的文件?

时间:2011-07-08

来源:互联网

bash的一个奇怪问题:ls [a-z]*,为啥会显示大写字母开头的文件?
bash4.2
某文件夹下有6个文件
1.txt
2.txt
a.txt
b.txt
A.txt
B.txt
根据文件名置换规则(不是正则表达式), ls [a-z]*表示显示以小写字母开头的文件
可是, 显示结果却是: a.txt A.txt b.txt B.txt(red hat7.0, AS4 环境测试, 都是以上结果)
为什么?
HP-UX, bash(版本未知,没注意过, 公司的机器)
执行同样的命令, 只显示:a.txt b.txt
难道这是bash的bug?

作者: faku   发布时间: 2011-07-08

ubuntu 4.2.8也是这样。同问。

作者: zooyo   发布时间: 2011-07-08

回复 faku
  1. ls [a\-z]*
复制代码

作者: lionfun   发布时间: 2011-07-08

回复 faku


    http://bbs.chinaunix.net/viewthr ... p;extra=&page=1

作者: yinyuemi   发布时间: 2011-07-08

回复 yinyuemi


    为什么加了LANG=C 就好了呢?

作者: lionfun   发布时间: 2011-07-08