如何禁用 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)
按照上面的例子:
命令$ 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
)
- 创建新 session (例如
- 编辑时
~/.zshrc
文件提交者:- 删除:
source <(kubectl completion zsh)
来自~/.zshrc
文件。 - 创建新 session (例如
zsh
)
- 删除:
之后自动补全 kubectl
不应该工作。
如果您对此有任何疑问,请告诉我。
关于kubernetes - 如何在 zsh 上禁用 kubectl 自动补全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60239113/