independente do sistema localizar links simbólicos?

2

Eu quero usar o comando 'find' e tê-lo seguindo links simbólicos. No entanto, eu preciso chamar o comando de outro código (IDL, que não tem uma boa busca de arquivo embutido) tanto no sistema RedHat quanto no Mac OS X.

O problema é que o sistema RedHat usa o GNU find versão 4.1.20, enquanto o mac find é uma versão do BSD. No mac find, você usa find -L para seguir links simbólicos. Na versão GNU, você usa find -follow . Não parece haver nenhuma opção comum entre os dois para seguir os links simbólicos.

Uma solução alternativa para minhas máquinas é alterar o find para uma versão privada, mas isso não é uma opção aceitável para distribuir o código. Alguém pode recomendar alternativas? Existe algo no manual find que eu perdi dizendo como seguir links simbólicos que não dependem da versão?

    
por keflavich 01.01.2012 / 02:38

1 resposta

2

Eu estava usando o JavaScript incorretamente.

Isso falha:

$ find -follow . -name "t*"
find: ollow: No such file or directory

Enquanto isso funciona:

$ find . -name "t*" -follow

Acho que é porque -f é uma opção especial para encontrar.

Note que a versão GNU do find também não permite seguir o caminho antes, mas pelo menos dá um erro útil:

find: paths must precede expression
    
por 06.01.2012 / 20:04

Tags