本页面介绍了如何配置和使用 gdcloud CLI 自动补全功能,该功能可让您使用 Tab 键补全部分输入的命令。此功能适用于 Bash、Zsh 和 Fish shell。 gdcloud CLI 自动补全功能会在您输入时提供命令和选项建议。当您不确定要使用哪个命令或想要使用以前从未用过的命令时,此功能会很有帮助。
启用自动补全功能
如需启用自动补全功能,您需要为终端运行命令。gdcloud CLI 自动补全功能适用于 Linux 操作系统中的 Bash、Zsh 和 Fish shell。使用以下命令确定您使用的 shell。
echo $SHELL
输出类似于 bin/$SHELL,其中 $SHELL 是 bash、zsh 或 fish。
Bash
如需在当前 shell 会话中加载补全,请运行以下命令:
source <(gdcloud completion bash)
如需为每个新会话加载补全,请运行以下命令一次:
gdcloud completion bash > gdcloud-completion.bash
sudo cp gdcloud-completion.bash /etc/bash_completion.d/
Zsh
如果您的环境中尚未启用 shell 补全,您必须启用它。检查是否已启用 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 补全,请查看 shell 的文档。 如果您的环境中未启用 shell 补全,请执行以下命令以启用它:
echo "autoload -U compinit; compinit" >> ~/.zshrc
如需在当前 shell 会话中加载补全,请运行以下命令:
source <(gdcloud completion zsh); compdef _gdcloud gdcloud
如需为每个会话加载补全,请运行以下命令一次:
gdcloud completion zsh > "${fpath[1]}/_gdcloud"
您必须启动一个新 shell,此设置才能生效。
Fish
如需在当前 shell 会话中加载补全,请运行以下命令:
gdcloud completion fish | source
如需为每个会话加载补全,请运行以下命令:
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