我想以递归方式将文件夹添加到导出变量中。假设我有MATLABPATH
以下声明的变量:
export MATLABPATH=PATH1:PATH2:…PATHN:$MATLABPATH
我想将文件夹内的所有文件夹添加RECURSIVEFOLDER
到MATLABPATH
变量中。如何以某种自动方式实现此目的?
谢谢。
答案1
用于find
列出目录:
export MATLABPATH="$(find RECURSIVEFOLDER -type d -printf %p:)$MATLABPATH"
导致-printf %p:
每个目录后面都打印一个:
,因此 find 命令的输出总是以 结尾:
。只要$MATLABPATH
在运行此命令之前目录不为空,就可以正常工作。
请注意,以上内容将添加RECURSIVEFOLDER
到路径及其递归子路径中。如果您不希望这样,请添加-mindepth 1
到find
命令中(如果您的find
命令实现了)-mindepth
,或者将其替换RECURSIVEFOLDER
为RECURSIVEFOLDER/*
。