Saat membuat tautan simbolik, bagaimana saya memecahkan masalah 'terlalu banyak level tautan simbolik'?

15

Saya mencoba membuat tautan simbolis di Ubuntu 10.04 ((Lucid Lynx)) katanya:

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

Dan ketika saya melakukannya /usr/bin$ ls php*saya baru saja mendapatkan:

php  php5  php-config  php-config5  phpize  phpize5

Saya mencoba membuatnya sebelumnya, dan saya tidak yakin apakah saya menjalankan perintah yang salah ...

pengguna35538
sumber
coba tentukan path lengkap phpunit
Heisenbug

Jawaban:

30

Hati-hati menggunakan itu ln -s target /path/symlink, targetakan ditafsirkan sebagai relatif ke pathdirektori (di mana symlink akan berada). Perintah Anda akan membuat symlink yang menunjuk ke dirinya sendiri. Oleh karena itu, loop pencarian path akan terjadi setiap kali symlink diakses.

Dalam kasus Anda, mungkin /usr/bin/phpunitsudah ada dan self-looping. Hapus dulu dan ubah perintah Anda ke:

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

(Menggunakan target absolut mungkin yang terbaik di sini)

Stéphane Gimenez
sumber