3

我设置了一些文件来理解bash的set构造通配符,即[]。

ls *
1  2  A  bob  darlene  dave  ed  frank  fred  LS_example.sh  Z

我希望返回的文件ls [a-z]*将只包括以小写字母开头的文件,但在下面,也会返回以大写字母开头的文件:

ls [a-z]*
A  bob  darlene  dave  ed  frank  fred  LS_example.sh

你能解释一下这种行为吗?

4

1 回答 1

2

在您的语言环境(以及它在您的操作系统中定义的方式)中,[a-z]包括大写和小写字母。如果您想可靠地匹配小写字母,请执行以下操作:

ls [[:lower:]]*
于 2012-06-08T04:18:54.980 回答