本页面介绍了如何配置和使用 gdcloud CLI 自动补全功能,该功能可让您使用 Tab 键补全部分输入的命令。此功能适用于 Bash、Zsh 和 Fish shell。 gcloud CLI 自动补全功能可在您输入时提供命令和选项建议。如果您不确定要使用哪个命令,或者想使用以前没用过的命令,此功能会很有帮助。
启用自动补全功能
如需启用自动补全功能,您需要为终端运行命令。gcloud CLI 自动补全功能适用于 Linux 操作系统中的 Bash、Zsh 和 Fish shell。使用以下命令确定您使用的 shell。
echo $SHELL
输出类似于 bin/$SHELL
,其中 $SHELL
是 bash、zsh 或 fish。
Bash
要在当前 shell 会话中加载 completion,请运行以下命令:
source <(gdcloud completion bash)
要为每个新会话加载 completion,请执行以下命令一次:
gdcloud completion bash > /etc/bash_completion.d/gdcloud
Zsh
如果您的环境中尚未启用 shell completion,您必须启用它。检查是否已启用 shell 补全功能。
检查 COMP_LINE
变量的值。如果 COMP_LINE
变量的值为空,则不会启用 shell 补全功能。您可以通过运行以下命令来检查此值:
echo $COMP_LINE
尝试使用命令进行 shell 补全。如果您尝试使用命令进行 shell 补全,但该功能无法正常运行,则说明 shell 补全功能未启用。例如,尝试输入以下命令并按 Tab 键。如果已启用 shell 补全功能,您应该会看到 ls
命令的可能补全列表。
ls
检查 compgen -c 命令的输出。如果 compgen -c
命令的输出不包含任何命令,则表示未启用 shell 补全功能。您可以运行以下命令来查看 compgen -c
命令的输出。如果启用了 shell 补全功能,则该命令的输出应包含具有补全功能的命令列表。
compgen -c
如果您不确定自己的环境中是否已启用 shell completion,请查看 shell 的文档。 如果您的环境中未启用 shell completion,请执行以下命令以启用它:
echo "autoload -U compinit; compinit" >> ~/.zshrc
要在当前 shell 会话中加载 completion,请运行以下命令:
source <(gdcloud completion zsh); compdef _gdcloud gdcloud
如需为每个会话加载 completion,请执行以下命令一次:
gdcloud completion zsh > "${fpath[1]}/_gdcloud"
您必须启动一个新 shell,此设置才能生效。
鱼
要在当前 shell 会话中加载 completion,请运行以下命令:
gdcloud completion fish | source
如需为每个会话加载 completion,请运行以下命令:
gdcloud completion fish > ~/.config/fish/completions/gdcloud.fish
您必须启动一个新 shell,此设置才能生效。
使用自动补全功能
如需使用 gdcloud CLI 自动补全功能,请先输入要使用的命令的前几个字符,然后按 Tab 键。如果只有一个可能的补全项,系统会自动将其插入到命令行中。如果命令未自动填充,则表示有多个可能的补全项,您必须再次按 Tab 键才能查看所有可能的命令。
自动补全示例
部分输入命令,然后按 Tab 键自动补全命令:
gdcloud con <TAB>
按一次 Tab 键后的完整命令:
gdcloud config
部分输入命令,然后按 Tab 键两次,即可查看所有可能的命令的列表:
gdcloud clusters <TAB> <TAB>
describe get-credentials list
gdcloud clusters