bash: _get_comp_words_by_ref: command not found 报错

没有安装补全的包

错误信息 bash: _get_comp_words_by_ref: command not found 表明你的 shell 中可能存在补全功能的问题。

通常,这种错误发生在你的系统上未正确安装或配置 bash-completion 包时。这个包提供了 kubectl 和其他命令行工具所需的补全脚本。

为了解决这个问题,你可以尝试以下步骤:

  1. 安装 bash-completion:确保在你的系统上安装了 bash-completion 包。你通常可以使用包管理器来安装它。例如,在基于 Debian 的系统(如 Ubuntu)上,你可以使用以下命令安装:

    sudo apt-get install bash-completion
    

    在 CentOS/RHEL 等系统上,你可能会使用以下命令:

    sudo yum install bash-completion
    
  2. 启用 bash-completion:安装了 bash-completion 后,你可能需要启用它。通常可以通过将以下行添加到你的 ~/.bashrc~/.bash_profile 文件中来完成:

    source /usr/share/bash-completion/bash_completion
    

    添加了这一行后,重新启动你的 shell,或者运行 source ~/.bashrc(或 source ~/.bash_profile)使更改生效。

  3. 验证补全:一旦 bash-completion 安装并启用了,再次尝试运行 kubectl 命令。现在你应该可以看到自动补全功能正常工作,不会再出现错误。

如果你继续遇到问题,请确保 kubectl 二进制文件已正确安装并位于系统的 PATH 中。此外,确保你正在使用支持 bash-completion 的兼容 shell,如 Bash。

# 没有安装补全的包
# 却在bashrc中添加了kubectl的补全脚本,所以报错

posted on 2024-05-26 10:11  代码你敲我不敲  阅读(217)  评论(0编辑  收藏  举报

导航

返回顶端