Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save kazusato/3a23a6d04c3c04225d028921bbcc4044 to your computer and use it in GitHub Desktop.
Save kazusato/3a23a6d04c3c04225d028921bbcc4044 to your computer and use it in GitHub Desktop.

kubectlの補完をエイリアスにも適用するには

kubectlの補完

kubectl completion -hでも出てくる通り、

$ kubectl completion bash > ~/.kube/completion.bash.inc
$ printf "
# Kubectl shell completion
$ source '$HOME/.kube/completion.bash.inc'
" >> $HOME/.bash_profile
source $HOME/.bash_profile

とすれば、kubectlの補完が可能となる。

kubectlにエイリアスを設定している場合

alias kc=kubectlのように設定している場合、上記設定では「kc」で入力した場合には補完が効かない。 エイリアスで入力した場合にも効くようにするには、以下のように修正した上で、上記同様bash起動時に 読み込まれるよう設定すればよい。

$ cp $HOME/.kube/completion.bash.inc $HOME/.kube/completion_kc.bash.inc
$ vi $HOME/.kube/completion_kc.bash.inc
※以下の箇所の末尾のkubectl→kcとする(ifの中とelseの中の2箇所)
if [[ $(type -t compopt) = "builtin" ]]; then
    complete -o default -F __start_kubectl kubectl
else
    complete -o default -o nospace -F __start_kubectl kubectl
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment