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

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

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

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

答案1

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

就你的情况而言,可能/usr/bin/phpunit已经存在并且是自循环的。首先将其删除,然后将命令更改为:

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

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

相关内容