Wie behebe ich beim Erstellen einer symbolischen Verknüpfung "zu viele Ebenen symbolischer Verknüpfungen"?

15

Ich versuche unter Ubuntu 10.04 ((Lucid Lynx)) einen symbolischen Link zu erstellen, auf dem steht:

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

Und wenn ich das tue, /usr/bin$ ls php*bekomme ich einfach:

php  php5  php-config  php-config5  phpize  phpize5

Ich habe zuvor versucht, es zu erstellen, und bin mir nicht sicher, ob ich einen falschen Befehl ausgeführt habe ...

user35538
quelle
versuchen Sie, den vollständigen Pfad von phpunit anzugeben
Heisenbug

Antworten:

30

Hüten Sie sich vor , dass die Verwendung ln -s target /path/symlink, die targetwird das als relativ interpretiert wird pathVerzeichnis (wo der Symlink gehören wird). Ihr Befehl würde einen Symlink erstellen, der auf sich selbst verweist. Daher würde jedes Mal, wenn auf den Symlink zugegriffen wird, eine Pfadnachschlage-Schleife auftreten.

In deinem Fall existiert es vielleicht /usr/bin/phpunitschon und ist selbstschleifend. Entfernen Sie es zuerst und ändern Sie Ihren Befehl in:

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

(Die Verwendung eines absoluten Ziels ist hier wahrscheinlich das Beste.)

Stéphane Gimenez
quelle