kubernetes - 如何在 zsh 上禁用 kubectl 自动补全

标签 kubernetes autocomplete zsh kubectl zsh-completion

如何禁用 zsh 上的 kubectl 自动完成功能。我在 osx 上运行,自动完成速度很慢(可能是因为它们必须调用远程集群 API),我不再需要它们了。

最佳答案

首先,kubectl中的自动补全默认情况下不启用命令。您需要事先启用它。要禁用它,最好只需颠倒启用它所采取的步骤即可。

如何启用 kubectl 的自动完成功能zsh内环境:


The kubectl completion script for Zsh can be generated with the command kubectl completion zsh. Sourcing the completion script in your shell enables kubectl autocompletion.

To do so in all your shell sessions, add the following to your ~/.zshrc file:

$ source <(kubectl completion zsh)

-- Kubernetes.io: Enabling shell autocompletion

按照上面的例子:

命令$ source <(kubectl completion zsh) :

  • 可以在 shell 中自行运行,以便在当前 session 中自动完成
  • 可以放入~/.zshrc每次用户登录时加载的文件

应用上述解决方案之一后,它应该提供可用选项 TAB按键输入终端,如下所示:

somefolder% kubectl get pod[TAB PRESSED HERE!]
poddisruptionbudgets.policy     pods.metrics.k8s.io             podsecuritypolicies.policy      
pods                            podsecuritypolicies.extensions  podtemplates

如何禁用 kubectl 的自动完成功能zsh内环境:


如上所述,默认情况下不启用自动完成功能。可以禁用它:

  • 当为当前 session 创建时:
    • 创建新 session (例如 zsh )
  • 编辑时~/.zshrc文件提交者:
    • 删除:source <(kubectl completion zsh)来自~/.zshrc文件。
    • 创建新 session (例如 zsh )

之后自动补全 kubectl不应该工作。

如果您对此有任何疑问,请告诉我。

关于kubernetes - 如何在 zsh 上禁用 kubectl 自动补全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60239113/

相关文章:

go - kubernetes go client 使用节点和集群的存储

docker - 默认情况下,kubernetes是否随docker一起提供

docker - 使用/healthz 进行应用程序健康检查的约定从何而来?

macos - 如何在新的 macOS 版本上为旧版本创建 Homebrew 瓶?

bash - zsh 中的 checkwinsize 等效项?

docker - Kubernete CreateContainerConfigError

autocomplete - 如何检测 Google places AutoComplete 加载问题?

c++ - codelite 自动完成不(真的)工作

来自 API 的 Angular Material 自动完成

git - 复杂的 Git 分支名称破坏了所有 Git 命令