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”类似