zsh:符号链接级别太多:gcc
zsh: too many levels of symbolic links: gcc
lrwxr-xr-x 1 root wheel 16 Apr 6 13:10 g++ -> /usr/bin/g++-4.5
-rwxr-xr-x 1 root wheel 14272 Feb 14 2014 gatherheaderdoc
lrwxr-xr-x 1 root wheel 16 Apr 6 13:11 gcc -> /usr/bin/gcc-4.5
lrwxr-xr-x 1 root wheel 22 Jul 2 2014 gcc-4.2 -> /usr/local/bin/gcc-4.2
lrwxr-xr-x 1 root wheel 12 Apr 6 10:59 gcc-4.4 -> /usr/bin/gcc
lrwxr-xr-x 1 root wheel 12 Apr 6 11:17 gcc-4.5 -> /usr/bin/gcc
嗨,我是 linux 的新手。所以我需要一些帮助来解决这个问题。
我更新了 gcc 的新版本,当我尝试使用 gcc --version
检查版本时,出现以下错误 zsh: too many levels of symbolic links: gcc
.
我在 /usr/bin
运行 ls -l
上找到了上面粘贴的循环 link。有人可以帮我解决这个问题吗?
我确定这已经在之前的回答中涵盖了,但是,您可以看到您有 /usr/bin/gcc 链接到 /usr/bin/gcc-4.5,而 /usr/bin/gcc-4.5 链接到 /usr/bin/gcc.圆。因此,zsh 最终会停止绕圈子并向您提供该消息。您需要删除 /usr/bin/gcc* 然后重新安装吗?
100% 解决了问题
问题出在你的相对路径上。我有一个类似的问题 symlinking 我的 Nginx 配置从 /usr/local/etc/nginx
到 /etc/nginx.
如果你像这样创建 symlink:
cd /usr/local/etc
ln -s nginx/ /etc/nginx
您实际上会生成 link /etc/nginx -> /etc/nginx,
,因为源路径是相对于 link 的路径。
解决方法很简单,使用绝对路径即可:
ln -s /usr/local/etc/nginx /etc/nginx
如果您想使用相对路径并让它们按照您可能期望的方式运行,您可以使用 pwd 将当前工作目录路径放入,如下所示:
cd /usr/local/etc
ln -s "$(pwd)/nginx/" /etc/nginx
您可能希望在路径周围加上引号,以确保转义当前路径中的空格等内容。请注意,执行此操作时必须使用双引号,因为如果使用单引号,则 $(pwd) 不会被替换。
lrwxr-xr-x 1 root wheel 16 Apr 6 13:10 g++ -> /usr/bin/g++-4.5
-rwxr-xr-x 1 root wheel 14272 Feb 14 2014 gatherheaderdoc
lrwxr-xr-x 1 root wheel 16 Apr 6 13:11 gcc -> /usr/bin/gcc-4.5
lrwxr-xr-x 1 root wheel 22 Jul 2 2014 gcc-4.2 -> /usr/local/bin/gcc-4.2
lrwxr-xr-x 1 root wheel 12 Apr 6 10:59 gcc-4.4 -> /usr/bin/gcc
lrwxr-xr-x 1 root wheel 12 Apr 6 11:17 gcc-4.5 -> /usr/bin/gcc
嗨,我是 linux 的新手。所以我需要一些帮助来解决这个问题。
我更新了 gcc 的新版本,当我尝试使用 gcc --version
检查版本时,出现以下错误 zsh: too many levels of symbolic links: gcc
.
我在 /usr/bin
运行 ls -l
上找到了上面粘贴的循环 link。有人可以帮我解决这个问题吗?
我确定这已经在之前的回答中涵盖了,但是,您可以看到您有 /usr/bin/gcc 链接到 /usr/bin/gcc-4.5,而 /usr/bin/gcc-4.5 链接到 /usr/bin/gcc.圆。因此,zsh 最终会停止绕圈子并向您提供该消息。您需要删除 /usr/bin/gcc* 然后重新安装吗?
100% 解决了问题
问题出在你的相对路径上。我有一个类似的问题 symlinking 我的 Nginx 配置从 /usr/local/etc/nginx
到 /etc/nginx.
如果你像这样创建 symlink:
cd /usr/local/etc
ln -s nginx/ /etc/nginx
您实际上会生成 link /etc/nginx -> /etc/nginx,
,因为源路径是相对于 link 的路径。
解决方法很简单,使用绝对路径即可:
ln -s /usr/local/etc/nginx /etc/nginx
如果您想使用相对路径并让它们按照您可能期望的方式运行,您可以使用 pwd 将当前工作目录路径放入,如下所示:
cd /usr/local/etc
ln -s "$(pwd)/nginx/" /etc/nginx
您可能希望在路径周围加上引号,以确保转义当前路径中的空格等内容。请注意,执行此操作时必须使用双引号,因为如果使用单引号,则 $(pwd) 不会被替换。