2015-05-10 15:56:00
来 源
中存储网
Ubuntu
众所周知,在shell中进行字符串模式匹配时,[a-z]表示匹配小写的a到z,[A-Z]表示匹配大写的A到Z,[0-9]表示匹配数字0到9,但是在Ubuntu中进行ls [a-z]*.c和ls [A-Z]*.c却出现了同样的效果。 分别运行ls [a-z]*.c和ls [A-Z]*.c。 两句产生了相同的效果,也就

众所周知,在shell中进行字符串模式匹配时,[a-z]表示匹配小写的a到z,[A-Z]表示匹配大写的A到Z,[0-9]表示匹配数字0到9,但是在Ubuntu中进行ls [a-z]*.c和ls [A-Z]*.c却出现了同样的效果。

分别运行ls [a-z]*.c和ls [A-Z]*.c。

两句产生了相同的效果,也就是大小写都没有区分,但是在其它系统中运行正常,为什么呢?

搜索了也不晓得原因,但找到了办法,运行LANG=C 就好了,再运行ls [A-Z]*.c试试。

当然,此时的LANG变量的作用域仅限于这个终端,当在另一个终端中运行时,仍然会出现原来的结果。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。