为什么 kubectl bash 完成在 macOS/OS X 上不起作用?

Dmi*_*sky 4 bash homebrew bash-completion kubernetes kubectl

我按照以下说明安装 Bash 完成kubectl completion -h

  1. 我是bash-completion通过 Homebrew安装的
  2. 在我的 中~/.bashrc,我首先bash-completion从完成 kubectl 子命令中获取源然后输出:
    • source $(brew --prefix)/etc/bash_completion
    • source <(kubectl completion bash)

有了这些,我启动了一个新的 shell,但完成不起作用。我如何让它工作?

Dmi*_*sky 8

一旦bash-completion由 Homebrew 安装,它的完成似乎需要驻留在$(brew --prefix)/etc/bash_completion.d. 在那里,您会发现许多其他已捆绑的完成。为 kubectl 添加补全:

$ kubectl completion bash > $(brew --prefix)/etc/bash_completion.d/kubectl
Run Code Online (Sandbox Code Playgroud)

这对我有用。