我的 gcc 当前链接到 gcc-4.8,每次运行 gcc 时,它都会显示:
zsh: command not found: gcc-4.8
我的别名列表包含gcc=gcc-4.8
我的 gcc 版本是 5。
我搜索了很多地方。我查看了.bashrc
文件(一个在主目录中,另一个在根目录中)。我不知道这个永久别名来自哪里。这不允许我安装一些需要的文件gcc
。
答案1
使用zsh -x
!
如果您需要知道某个函数或别名的设置位置,或者 Zsh 中发生的任何其他事情,跟踪功能就是天赐之物。请执行以下操作:
% zsh -x &> trace
% exit
% grep 'alias.*gcc-4.8' trace
你(应该)会得到类似这样的信息:
+/path/to/some/file:[line]> alias 'gcc=gcc-4.8'
使用文件的内容trace
来确定罪魁祸首在哪里。
答案2
您是否尝试过更新替代方案? https://askubuntu.com/a/26518/733411
要查找别名的定义位置,您可以递归地使用 grep 来查找提到“gcc-4.8”的文件。要在 /etc 中搜索:
grep -lr gcc-4.8 /etc/
或者在你的主文件夹中:
grep -lr gcc-4.8 ~
您还可以找到与哪个 gcc 一起使用:
which gcc
您还可以重置您的别名,alias gcc=gcc
并将其添加到您的 .bashrc 中以在 bash 登录时覆盖。
答案3
首先尝试一下这个:
grep gcc < ~/.bashrc
如果你看到一些输出,请运行以下命令:
nano ~/.bashrc
然后按Control+W搜索 GCC。找到旧别名后,将其删除,保存文件(Control+X然后y Enter)并启动新 shell。
如果您没有看到任何输出,请尝试:
nano ~/.bash_history
并重复以上步骤。
如果一切都失败了
尝试
command gcc
当您通常使用 时gcc
。您不应该使用它,但它确实有效。