Adicione recursivamente pastas para exportar o comando no bashrc

0

Eu quero adicionar recursivamente adicionar pastas a uma variável exportada. Suponha que eu tenha a variável MATLABPATH declarada abaixo:

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

E eu quero adicionar todas as pastas dentro da pasta RECURSIVEFOLDER to MATLABPATH variable. Como faço isso de alguma forma automática?

Obrigado.

    
por Werner 04.08.2013 / 07:08

1 resposta

1

Use find para listar os diretórios:

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

O -printf %p: faz com que cada diretório seja impresso com um : , portanto, a saída do comando find sempre terminará com : . Desde que $MATLABPATH não estivesse vazio antes de executar este comando, isso funcionará bem.

Note que o acima irá adicionar RECURSIVEFOLDER ao caminho, assim como seus filhos recursivos. Se você não quisesse, adicione -mindepth 1 ao comando find , se o comando find implementasse -mindepth ou substituísse RECURSIVEFOLDER por RECURSIVEFOLDER/* .

    
por 04.08.2013 / 08:15

Tags