创建符号链接时,如何解决“太多级别的符号链接”?


15

我正在尝试在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

当我这样做时,我会/usr/bin$ ls php*得到:

php  php5  php-config  php-config5  phpize  phpize5

我曾经尝试创建它,但不确定是否运行了错误的命令...


尝试指定的PHPUnit的完整路径
Heisenbug

Answers:


30

注意,使用时ln -s target /path/symlinktarget会被解释为相对于path目录(符号链接所属的目录)的相对目录。您的命令将创建一个指向自身的符号链接。因此,每次访问符号链接时都会发生路径查找循环。

在您的情况下,可能/usr/bin/phpunit已经存在并且正在自我循环。首先将其删除,然后将命令更改为:

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

(在这里使用绝对目标可能是最好的选择)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.