如果一切都失败了

如果一切都失败了

我的 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。您不应该使用它,但它确实有效。

相关内容