如何在 zsh 上禁用 kubectl 自动完成



如何在 zsh 上禁用 kubectl 自动完成功能。我在osx上运行并且自动完成速度很慢(可能是因为它们必须调用远程集群API(,我不希望它们再出现。

首先,默认情况下不启用kubectl命令中的自动完成功能。您需要事先启用它。要禁用它,最好只是撤消您为启用它而采取的步骤。

如何在zsh环境中为kubectl启用自动完成:


Zsh 的 kubectl 完成脚本可以使用命令kubectl completion zsh生成。在 shell 中获取完成脚本可以启用 kubectl 自动完成。

若要在所有 shell 会话中执行此操作,请将以下内容添加到~/.zshrc文件中:

$ source <(kubectl completion zsh)

-- Kubernetes.io:启用外壳自动完成

以下示例:

命令$ source <(kubectl completion zsh)

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

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

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

如何在zsh环境中禁用kubectl的自动完成:


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

  • 为当前会话创建时:
    • 创建新会话(示例zsh(
  • 当编辑~/.zshrc文件时:
    • 删除:从~/.zshrc文件中source <(kubectl completion zsh)
    • 创建新会话(示例zsh(

之后,kubectl的自动完成应该不起作用。

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

相关内容

  • 没有找到相关文章

最新更新