Kubernetes kubectl bash完成,别名为
我正在将Kubernetes kubectl bash完成,别名为,kubernetes,Kubernetes,我正在将kubectl与bash completion一起使用,但我更喜欢为kubectl使用一个较短的别名,例如ks,我需要做哪些更改才能使bash completion与别名一起工作ks更新自: 在~/.bashrc文件中获取完成脚本的源代码: echo'source我在我的.bashrc中有这个,用于获取别名和自动完成 来源:官方文件 # after installing bash completion alias k=kubectl complete -F __start_kubec
kubectl与bash completion一起使用
,但我更喜欢为kubectl
使用一个较短的别名,例如ks
,我需要做哪些更改才能使bash completion与别名一起工作ks更新自:
- 在~/.bashrc文件中获取完成脚本的源代码:
echo'source我在我的.bashrc中有这个,用于获取别名和自动完成
来源:官方文件
# after installing bash completion
alias k=kubectl
complete -F __start_kubectl k
只是为了补充结束行的awnser(他的解决方案只在shell的活动会话中有效,如果你关闭,你必须重新执行),也许可以帮助我遇到同样麻烦的人
您可以使用上面的结构从
echo'alias k=kubectl'>>~/.bashrc(将别名添加到shell)
echo'source此解决方案比被认为“正确”的解决方案要简单得多。如果我想在bash中完成“复合别名”,比如我设置了一个别名“kdry”,它解析为“kubectl--dry run=client”,该怎么办。但是在bash中在kdry之后键入并没有自动完成功能。为什么?(注意:这在zsh中不起作用。)
if [[ $(type -t compopt) = "builtin" ]]; then
complete -o default -F __start_kubectl kubectl
else
complete -o default -o nospace -F __start_kubectl kubectl
fi
if [[ $(type -t compopt) = "builtin" ]]; then
complete -o default -F __start_kubectl ks
else
complete -o default -o nospace -F __start_kubectl ks
fi
# after installing bash completion
alias k=kubectl
complete -F __start_kubectl k