我有这个目录结构:
~/tmp/globstar ? find dir -type f
dir/file.ext
dir/subdir1/file.ext
dir/subdir2/file.ext
Run Code Online (Sandbox Code Playgroud)
而且,globstar
在 Bash 中启用该选项后,我可以说:
~/tmp/globstar ? ls -1 dir/**/*.ext
dir/subdir1/file.ext
dir/subdir2/file.ext
Run Code Online (Sandbox Code Playgroud)
我的问题是:为什么被dir/file.ext
排除在这个列表之外?
Bash 手册是这样说的globstar
:
如果设置,文件名扩展上下文中使用的模式 '**' 将匹配所有文件以及零个或多个目录和子目录。如果模式后跟一个“/”,则只有目录和子目录匹配。
这一段的“零”让我有一种dir/file.ext
应该被包括在内的印象;除非我希望错过一些东西。