website/content/ja/docs/tasks/tools/included/optional-kubectl-configs-ba...

3.2 KiB

title description headless _build
Linux上でのbashの自動補完 Linux上でのbashの自動補完に対するいくつかの補助的な設定。 true
list render publishResources
never never false

はじめに

Bashにおけるkubectlの補完スクリプトはkubectl completion bashコマンドで生成できます。 補完スクリプトをシェル内に読み込ませることでkubectlの自動補完が有効になります。

ただし、補完スクリプトはbash-completionに依存しているため、事前にインストールしておく必要があります(type _init_completionを実行することで、bash-completionがすでにインストールされていることを確認できます)。

bash-completionをインストールする

bash-completionは多くのパッケージマネージャーから提供されています(こちらを参照してください)。 apt-get install bash-completionまたはyum install bash-completionなどでインストールできます。

上記のコマンドでbash-completionの主要スクリプトである/usr/share/bash-completion/bash_completionが作成されます。 パッケージマネージャーによっては、このファイルを~/.bashrcにて手動で読み込ませる必要があります。

これを調べるには、シェルをリロードしてからtype _init_completionを実行してください。 コマンドが成功していればすでに設定済みです。そうでなければ、~/.bashrcファイルに以下を追記してください:

source /usr/share/bash-completion/bash_completion

シェルをリロードし、type _init_completionを実行してbash-completionが正しくインストールされていることを検証してください。

kubectlの自動補完を有効にする

Bash

次に、kubectl補完スクリプトがすべてのシェルセッションで読み込まれるように設定する必要があります。 これを行うには2つの方法があります:

{{< tabs name="kubectl_bash_autocompletion" >}} {{< tab name="ユーザー" codelang="bash" >}} echo 'source <(kubectl completion bash)' >>~/.bashrc {{< /tab >}} {{< tab name="システム" codelang="bash" >}} kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null sudo chmod a+r /etc/bash_completion.d/kubectl {{< /tab >}} {{< /tabs >}}

kubectlにエイリアスを張っている場合は、エイリアスでも動作するようにシェルの補完を拡張することができます:

echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -o default -F __start_kubectl k' >>~/.bashrc

{{< note >}} bash-completionは/etc/bash_completion.d内のすべての補完スクリプトを読み込みます。 {{< /note >}}

どちらも同様の手法です。 シェルをリロードしたあとに、kubectlの自動補完が機能するはずです。 シェルの現在のセッションでbashの自動補完を有効にするには、~/.bashrcを読み込みます:

source ~/.bashrc