为什么“cc”和“c++”的 Bash 完成不起作用?

shi*_*nkr 5 bash auto-completion

在尝试使用cc/c++命令使用 C/C++ 文件进行编译时,我发现我不再可能使用Tab密钥进行 bash 完成。

我可以在 12.10 之前做同样的事情。此外,当用gccand编译时g++,bash-completion 工作正常。

And*_*ini 3

您看到的是bash-completion 中的错误

幸运的是,有一个解决方法:您可以打开/usr/share/bash-completion/completions/cc,找到以下内容:

complete -F _gcc gcc g++ g77 gcj gpc &&
{
    cc  --version 2>/dev/null | grep -q GCC && complete -F _gcc cc  || :
    c++ --version 2>/dev/null | grep -q GCC && complete -F _gcc c++ || :
}
Run Code Online (Sandbox Code Playgroud)

并将其替换为以下内容:

complete -F _gcc gcc g++ g77 gcj gpc cc c++
Run Code Online (Sandbox Code Playgroud)