Autocomplete 我可以在zsh中使用kubectl的自动完成功能吗?

Autocomplete 我可以在zsh中使用kubectl的自动完成功能吗?,autocomplete,kubernetes,zsh,kubectl,Autocomplete,Kubernetes,Zsh,Kubectl,我每天都发现自己在做 $ kubectl --context=foo get pods < copy text manually > $ kubectl --context=foo logs dep1-12345678-10101 $kubectl--context=foo-get-pods $kubectl--context=foo日志dep1-12345678-10101 我想循环使用匹配的资源 $ kubectl --context=foo logs dep1<

我每天都发现自己在做

$ kubectl --context=foo get pods
  < copy text manually >
$ kubectl --context=foo logs dep1-12345678-10101
$kubectl--context=foo-get-pods
<手动复制文本>
$kubectl--context=foo日志dep1-12345678-10101
我想循环使用匹配的资源

$ kubectl --context=foo logs dep1<TAB>
$kubectl--context=foo日志dep1
但这似乎与我的库存设置无关。有什么想法吗

osx 10.12.3 kubectl v1.4.5
zsh zsh 5.2(x86_64-apple-darwin16.0)

zsh
都支持在按下
时完成打印命令的脚本。此功能称为可编程完成,您可以在此处找到有关此功能的更多详细信息:


幸运的是,您不需要编写自己的脚本——kubectl为zsh>5.2提供了它。尝试运行以下命令:
sourceI将此函数添加到我的$HOME/.zshrc中

它将延迟加载kubectl的完整功能

kubectl(){
库贝特尔司令部$*
如果[-z$KUBECTL_完成]]
然后

source对于
oh my zsh
,启用kubectl自动完成的最简单方法是在
~/.zshrc
中添加
kubectl
插件:

# somewhere in your .zshrc
plugins=(git kubectl)

要在将来的shell中自动加载,您可以执行
echo”源代码。这太棒了。我花了30分钟试图让bash completion在Centos中工作,直到我找到它。如果您在OSX上运行此操作,并且未找到
命令:compdef
,请检查此答案:
(${+commands[kubectl]}))&&alias kubectl='test-z$C_KUBE&&C_KUBE=1&&source您能解释一下您在上一条评论中留下的命令是做什么的吗?@mutantmhesh 1.如果可执行二进制文件kubectl存在,则生成别名;2.检查环境变量C_KUBE是否存在。如果不存在,则生成完成脚本并设置环境变量;3。让别名命令“kubectl”与实际命令“kubectl”类似