Pau*_*ce. 22
在Bash 4中,使用shopt -s globstar和zsh可以使用**/*包含除隐藏文件之外的所有内容.您可以shopt -s dotglob在Bash 4或setopt dotglobzsh中执行以包含隐藏文件.
在ksh中,set -o globstar启用它.我认为没有办法隐含地包含点文件,但我认为**/{.[^.],}*有效.
特别是关于git(gitignore,gitattributes和带有文件名的命令):如果模式不包含斜杠,则*通配符将匹配深度.如果它确实包含斜杠,git将使用该FNM_PATHNAME标志调用fnmatch,而简单的通配符将不匹配斜杠.**不支持匹配深度.也许这种深度匹配可以通过新FNM_STARSTAR标志得到更广泛的支持,并且可以在glibc,gnulib和其他地方实现.