Я хочу добавить рекурсивно добавить папки в экспортируемую переменную. Предположим, у меня есть переменная MATLABPATH объявленная ниже:

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

И я хочу добавить все папки внутри папки RECURSIVEFOLDER в переменную MATLABPATH . Как я делаю это каким-то автоматическим способом?

Благодарю.

1 ответ1

1

Используйте find чтобы получить список каталогов:

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

-printf %p: заставляет каждый каталог печататься после : поэтому вывод команды find всегда будет заканчиваться на : Если $MATLABPATH не был пуст перед запуском этой команды, это будет работать нормально.

Обратите внимание, что приведенное выше добавит RECURSIVEFOLDER к пути, а также его рекурсивные дочерние элементы. Если вы этого не хотите, добавьте -mindepth 1 к команде find , если ваша команда find реализует -mindepth , или замените RECURSIVEFOLDER на RECURSIVEFOLDER/* .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .