Bash 通配隐藏文件

Bash 通配隐藏文件

我正在 bash shell 中尝试以下 glob:

$ ls -d .*
.  ..  .a  .ab
$ ls .a*
.a  .ab
$ ls .[!.]*
.a  .ab
$ ls .[!.]?*
.ab

最后一个表达式不应该表示“一个点后跟一个非点,后跟零个或多个字符”吗?为什么匹配失败.a

答案1

你误会了。它的意思是“一个点后跟一个非点,后跟一个字符,后跟零个或多个字符”。.a没有足够的字符来匹配它。

但实际上,只需设置即可dotglob

相关内容