0

我知道这是一种模式,它会导致一些搜索发生:

zsh: no matches found: 0##*/

但是,我不知道它在搜索什么,也不知道实际上是什么命令行工具在处理请求。

4

1 回答 1

1

该错误来自 zsh 本身进行文件名扩展(AKA globbing)。zshexpn手册页的文件名生成部分对此进行了介绍。

如果您EXTENDED_GLOB设置了选项(在zshoptions手册页中介绍),则##令牌的行为类似于+扩展正则表达式中的 will,匹配前面项目的 1 次或多次出现(0在您的示例中)。以下*将匹配任何字符序列(不包括任何字符)。最后/的将限制匹配到目录。因此,整个模式将匹配当前目录中名称以 . 开头的任何目录0。尽管实际上没有任何理由使用该##部分;它不会影响结果,并使模式更加混乱且不可移植到其他 shell。

如果未设置该选项,则##字符将按字面意思表示。*和字符将/被视为与我在前一段中描述的相同。整个模式将匹配当前目录中名称以 . 开头的任何目录0##

于 2013-02-22T21:22:25.007 回答