Zsh: scripts de origem recursivamente

5

Eu tenho a pasta ~/scripts/ que contém várias subpastas com níveis de diretório arbitrários.

Esta pasta somente para scripts que precisam ser originados ao iniciar zsh , como recursivamente obter todos os arquivos sob sua pasta e suas subpastas de uma maneira curta e efetiva?

    
por Tuyen Pham 09.11.2018 / 15:12

1 resposta

7

Fornecendo todos os arquivos regulares não ocultos, na ordem de agrupamento:

for f (~/scripts/**/*(N.))  . $f

No entanto, sugiro que você nomeie esses arquivos usando um modelo específico como .zsh extension (e use *.zsh em vez de * acima) para evitar problemas se houver arquivos de backup ali por exemplo .

Ou, pelo menos, você pode excluir alguns comuns, como file~ , file.dpkg-dist , file.back ...:

set -o extendedglob
for f (~/scripts/**/^*("~"|dpkg-(dist|old|new)|.(tmp|back|bak))(N.))  . $f

etc.

    
por 09.11.2018 / 15:30

Tags