Tuyen Pham Asked: 2018-11-10 06:12:30 +0800 CST2018-11-10 06:12:30 +0800 CST 2018-11-10 06:12:30 +0800 CST Zsh:递归源脚本 772 我的~/scripts/文件夹包含多个具有任意目录级别的子文件夹。 该文件夹仅用于启动时需要获取的脚本zsh,如何以简短有效的方式递归获取其文件夹及其子文件夹下的所有文件? zsh scripting 1 个回答 Voted Best Answer Stéphane Chazelas 2018-11-10T06:30:00+08:002018-11-10T06:30:00+08:00 按排序顺序在其中采购所有非隐藏的常规文件: for f (~/scripts/**/*(N.)) . $f 但是,我建议您使用特定模板命名这些文件,例如带有.zsh扩展名(并使用*.zsh而不是*上面),以避免例如其中存在备份文件时出现问题。 或者您至少可以排除一些常见的,如file~, file.dpkg-dist, file.back...: set -o extendedglob for f (~/scripts/**/^*("~"|dpkg-(dist|old|new)|.(tmp|back|bak))(N.)) . $f 等等
按排序顺序在其中采购所有非隐藏的常规文件:
但是,我建议您使用特定模板命名这些文件,例如带有
.zsh
扩展名(并使用*.zsh
而不是*
上面),以避免例如其中存在备份文件时出现问题。或者您至少可以排除一些常见的,如
file~
,file.dpkg-dist
,file.back
...:等等