我知道这是一种模式,它会导致一些搜索发生:
zsh: no matches found: 0##*/
但是,我不知道它在搜索什么,也不知道实际上是什么命令行工具在处理请求。
该错误来自 zsh 本身进行文件名扩展(AKA globbing)。zshexpn手册页的文件名生成部分对此进行了介绍。
如果您EXTENDED_GLOB
设置了选项(在zshoptions手册页中介绍),则##
令牌的行为类似于+
扩展正则表达式中的 will,匹配前面项目的 1 次或多次出现(0
在您的示例中)。以下*
将匹配任何字符序列(不包括任何字符)。最后/
的将限制匹配到目录。因此,整个模式将匹配当前目录中名称以 . 开头的任何目录0
。尽管实际上没有任何理由使用该##
部分;它不会影响结果,并使模式更加混乱且不可移植到其他 shell。
如果未设置该选项,则##
字符将按字面意思表示。*
和字符将/
被视为与我在前一段中描述的相同。整个模式将匹配当前目录中名称以 . 开头的任何目录0##
。