feat: kxn choose kubectl version + ns completion
This commit is contained in:
parent
d30a7cacce
commit
8cac5c8d2d
@ -14,13 +14,17 @@
|
||||
|
||||
function kxn() {
|
||||
1="$(echo - "$1" | tr -c '[:alnum:]-_' '[ *]')"
|
||||
local ctx="$(echo - "$1" | awk '{print $1}')"
|
||||
local ns="${2-$(echo - "$1" | awk '{print $2}')}"
|
||||
local ctx="$(echo - "$1" | awk '{print $1}')"; ctx="${ctx:l}"
|
||||
local ns="${2-$(echo - "$1" | awk '{print $2}')}"; ns="${ns:l}"
|
||||
|
||||
kubectx ${ctx:l}
|
||||
[ -n "$ns" ] && kubens "${ns:l}"
|
||||
[ "$ctx" = hrmn ] \
|
||||
&& ln -sf /usr/local/bin/k1.18 /var/tmp/kubectl \
|
||||
|| ln -sf /usr/bin/kubectl /var/tmp/kubectl
|
||||
|
||||
kubectx "$ctx"
|
||||
[ -n "$ns" ] && kubens "$ns"
|
||||
}
|
||||
compdef _kubectx kxn
|
||||
alias kubectl='/var/tmp/kubectl'
|
||||
|
||||
alias kns='kubens'
|
||||
alias k='kubectl'
|
||||
|
12
.config/zsh/completions/_kxn
Normal file
12
.config/zsh/completions/_kxn
Normal file
@ -0,0 +1,12 @@
|
||||
#compdef kxn
|
||||
|
||||
case "$#words" in
|
||||
2)
|
||||
_arguments "1: :(- $(kubectl config get-contexts -oname))"
|
||||
;;
|
||||
3)
|
||||
_arguments "2: :($(kubectl --context "${words[2]}" get namespaces -o=jsonpath='{range .items[*].metadata.name}{@}{"\n"}{end}'))"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
Loading…
Reference in New Issue
Block a user