gdcloud CLI の自動補完

このページでは、gdcloud CLI の予測入力機能を構成して使用する手順について説明します。この機能を使用すると、Tab キーを使用して、部分的に入力されたコマンドを補完できます。この機能は、Bash、Zsh、Fish シェルで使用できます。gdcloud CLI のオートコンプリートは、入力に応じてコマンドとオプションの候補を表示する機能です。これは、使用するコマンドがわからない場合や、以前に使用したことのないコマンドを使用する場合に役立ちます。

予測入力を有効にする

自動補完機能を有効にするには、ターミナルのコマンドを実行する必要があります。gdcloud CLI のオートコンプリート機能は、Linux オペレーティング システムの Bash、Zsh、Fish シェルで使用できます。使用しているシェルを確認するには、次のコマンドを使用します。

echo $SHELL

出力は bin/$SHELL のようになります。ここで、$SHELL は bash、zsh、fish のいずれかです。

Bash

現在のシェル セッションで補完を読み込むには:

source <(gdcloud completion bash)

新しいセッションごとに補完を読み込むには、1 回実行します。

gdcloud completion bash > /etc/bash_completion.d/gdcloud

Zsh

環境でシェル補完がまだ有効になっていない場合は、有効にする必要があります。シェル補完が有効になっているかどうかを確認します。

COMP_LINE 変数の値を確認します。COMP_LINE 変数の値が空の場合、シェル補完は有効になりません。この値は、次のコマンドを実行して確認できます。

echo $COMP_LINE

コマンドでシェル補完を使用してみます。コマンドでシェル補完を使用しようとしても機能しない場合は、シェル補完が有効になっていません。たとえば、次のコマンドを入力して Tab キーを押してみてください。シェル補完が有効になっている場合は、ls コマンドの補完候補のリストが表示されます。

ls

compgen -c コマンドの出力を確認します。compgen -c コマンドの出力にコマンドが含まれていない場合、シェル補完は有効になっていません。次のコマンドを実行すると、compgen -c コマンドの出力を確認できます。シェル補完が有効になっている場合、コマンドの出力には、補完関数を持つコマンドのリストが含まれます。

compgen -c

環境でシェル補完が有効になっているかどうかわからない場合は、シェルのドキュメントを確認してください。環境でシェル補完が有効になっていない場合は、次のコマンドを実行して有効にします。

echo "autoload -U compinit; compinit" >> ~/.zshrc

現在のシェル セッションで補完を読み込むには:

source <(gdcloud completion zsh); compdef _gdcloud gdcloud

セッションごとに補完を読み込むには、1 回実行します。

gdcloud completion zsh > "${fpath[1]}/_gdcloud"

この設定を有効にするには、新しいシェルを起動する必要があります。

現在のシェル セッションで補完を読み込むには:

gdcloud completion fish | source

セッションごとに補完を読み込むには、次のコマンドを実行します。

gdcloud completion fish > ~/.config/fish/completions/gdcloud.fish

この設定を有効にするには、新しいシェルを起動する必要があります。

予測入力を使用する

gdcloud CLI の自動補完を使用するには、使用するコマンドの最初の数文字を入力して、Tab キーを押します。補完候補が 1 つしかない場合は、コマンドラインに自動的に挿入されます。コマンドが自動入力されない場合は、複数の候補があることを意味します。Tab キーをもう一度押して、すべての候補を表示する必要があります。

オートコンプリートの例

コマンドの一部を入力して Tab キーを押すと、コマンドが自動補完されます。

gdcloud con <TAB>

Tab キーを 1 回押した後のコマンドの補完:

gdcloud config

コマンドの一部を入力してから Tab キーを 2 回押すと、使用可能なすべてのコマンドのリストが表示されます。

gdcloud clusters <TAB> <TAB>
describe get-credentials list
gdcloud clusters