Zsh:递归源脚本

Zsh:递归源脚本

我的~/scripts/文件夹包含具有任意目录级别的多个子文件夹。

该文件夹仅用于启动时需要获取的脚本zsh,如何以简短有效的方式递归获取其文件夹及其子文件夹下的所有文件?

答案1

采购所有非隐藏的常规的那里的文件,按整理顺序:

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

ETC。

相关内容