Diretório do link simbólico não referenciado?

2

No script de shell, como posso desreferenciar um link simbólico e obter o diretório do arquivo ao qual ele está vinculado?

    
por gabriel 21.07.2012 / 02:06

1 resposta

2

Você pode excluir os links simbólicos com o GNU readlink por meio de:

readlink -f /path/to/symlink

O diretório é fácil de acessar dirname :

dirname $(greadlink -f /path/to/symlink)

Observe que o BSD readlink (ou seja, aquele que vem com o OS X) não suporta essa opção -f , mas instalando coreutils através de Homebrew irá fornecer-lhe greadlink .

Uma solução de plataforma cruzada com o Python:

python -c 'import os;print os.path.dirname(os.path.realpath("***/path/to/symlink***"))'
    
por 21.07.2012 / 02:14