Ao criar um link simbólico, como faço para solucionar 'muitos níveis de links simbólicos'?

15

Estou tentando criar um link simbólico no Ubuntu 10.04 ((Lucid Lynx)):

me@laptop:~/PHPUnit$ ls
assertions.php      LICENSE      PHPUnit           README.markdown
build.xml           package.xml  phpunit.bat       Tests
ChangeLog.markdown  phpunit      phpunit.xml.dist
me@laptop:~/PHPUnit$ ln -s phpunit /usr/bin/phpunit
ln: accessing '/usr/bin/phpunit': Too many levels of symbolic links

E quando eu faço /usr/bin$ ls php* acabei de receber:

php  php5  php-config  php-config5  phpize  phpize5

Eu tentei criá-lo antes, e não tenho certeza se executo um comando errado ...

    
por user35538 12.08.2011 / 13:33

1 resposta

30

Tenha em atenção que, utilizando ln -s target /path/symlink , o target será interpretado como relativo ao diretório path (onde o link simbólico pertencerá). Seu comando criaria um link simbólico que aponta para si mesmo. Assim, um loop de pesquisa de caminho ocorreria toda vez que o link simbólico fosse acessado.

No seu caso, talvez /usr/bin/phpunit já exista e seja auto-loop. Remova-o primeiro e altere seu comando para:

me@laptop:~/PHPUnit$ ln -s ~/PHPUnit/phpunit /usr/bin/phpunit

(Usar um alvo absoluto é provavelmente o melhor aqui)

    
por 12.08.2011 / 13:44