Kubectlのzsh補完機能で詰まった話
これは何?
kubectlのzsh補完機能を設定する際に詰まったのでまとめる。
kubectlの補完機能 (completion)
青山真也さん著のkubernetes完全ガイドには以下のように記載されていた。
kubectl の様々な使い方を説明してきましたが、シェル保管機能も用意されています。bash または zsh を選択できるため、環境に応じてどちらかを指定してください。
# bash completion $ source <(kubectl completion bash) # zsh completion $ source <(kubectl completion zsh)
「~/.bash_profile」や「~/.zprofile」に設定しておくとログイン時に有効化されて便利です。
自分はzshユーザなので、下のコマンドを実行した。すると、complete:13: command not found: compdef
というエラーが発生する。
解決法
とりあえずエラーをコピーしてでググってみたところ以下のように出力された。
AWSクライアントとかGoogle Cloudを使っているわけではないので、上から4番目の記事を開くとzshrcに以下のように記載すると良いと書かれていた。
autoload -Uz compinit
compinit
source <(kubectl completion zsh)
これは補完に表示されるファイルに関するセキュリティのオプションであるそうだ。この上から4番目の記事には以下も記載しろと書いてあったが必要ない。今回参照したGithubのIssueがasdfというアプリケーションに紐付いているだけであるからだ。
. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash
余談
同じミスをした誰かをこの記事を通して解決に導くことを目的にこの記事を書かせていただいた。
Author And Source
この問題について(Kubectlのzsh補完機能で詰まった話), 我々は、より多くの情報をここで見つけました https://qiita.com/kylasakerskog/items/736169f4477947cf7126著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .