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

use*_*538 15 linux shell symbolic-link ubuntu-10.04

我正在尝试在 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
Run Code Online (Sandbox Code Playgroud)

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

php  php5  php-config  php-config5  phpize  phpize5
Run Code Online (Sandbox Code Playgroud)

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

Sté*_*nez 30

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

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

me@laptop:~/PHPUnit$ ln -s ~/PHPUnit/phpunit /usr/bin/phpunit
Run Code Online (Sandbox Code Playgroud)

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