我真的不明白为什么模式test**/*.ext
与test23/file.ext
匹配,但不匹配test23/test/file.ext
和test23/test/test/file.ext
。 Globstar应该匹配所有这些,不是吗?
这是man bash
:
启用 globstar shell 选项并在路径名扩展上下文中使用 * 时,用作单个模式的两个相邻 * 将匹配所有文件以及零个或多个目录和子目录。如果后跟/,则两个相邻的 * 将仅匹配目录和子目录。
由于您的**
不是单一的模式,而是test**
的一部分,因此它没有得到球星处理。