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