在 bashrc 上递归添加文件夹以导出命令

在 bashrc 上递归添加文件夹以导出命令

我想以递归方式将文件夹添加到导出变量中。假设我有MATLABPATH以下声明的变量:

export MATLABPATH=PATH1:PATH2:…PATHN:$MATLABPATH

我想将文件夹内的所有文件夹添加RECURSIVEFOLDERMATLABPATH变量中。如何以某种自动方式实现此目的?

谢谢。

答案1

用于find列出目录:

export MATLABPATH="$(find RECURSIVEFOLDER -type d -printf %p:)$MATLABPATH"

导致-printf %p:每个目录后面都打印一个:,因此 find 命令的输出总是以 结尾:。只要$MATLABPATH在运行此命令之前目录不为空,就可以正常工作。

请注意,以上内容将添加RECURSIVEFOLDER到路径及其递归子路径中。如果您不希望这样,请添加-mindepth 1find命令中(如果您的find命令实现了)-mindepth,或者将其替换RECURSIVEFOLDERRECURSIVEFOLDER/*

相关内容