【发布时间】:2018-03-14 09:00:31
【问题描述】:
我发现 Azure CLI(az 命令)有可用于 bash[1] 的命令完成提示,但我没有找到有关如何为 zsh 安装/启用它的任何指示。如果可能的话,任何人都知道该怎么做?如果相关,我会使用 oh-my-zsh。
【问题讨论】:
标签: azure zsh azure-cli zsh-completion
我发现 Azure CLI(az 命令)有可用于 bash[1] 的命令完成提示,但我没有找到有关如何为 zsh 安装/启用它的任何指示。如果可能的话,任何人都知道该怎么做?如果相关,我会使用 oh-my-zsh。
【问题讨论】:
标签: azure zsh azure-cli zsh-completion
az 可以在 zsh 中完成。
从 Azure CLI git repo 获取 bash 的完成并将此文件存储在 zsh 启动脚本可以找到的位置:https://raw.githubusercontent.com/Azure/azure-cli/dev/az.completion
在 zsh if it's not enabled already 中启用 bash 自动补全:
autoload -U +X bashcompinit && bashcompinit
为 az 启用命令补全:
source /path/to/az.completion
步骤 2 和 3 中的代码 sn-ps 可以添加到 shell 启动文件(.zshrc 或类似文件)以使更改永久生效。
【讨论】:
autoload 和source 命令添加到您的.zshrc 文件中,自动加载不会在会话之间持续存在,并且必须在源命令之前运行。很好的答案,只是想澄清一下。
此外,bash 完成文件应该已经安装在您的系统上。
寻找/etc/bash_completion.d/azure-cli
如果文件在那里,您可以跳过已接受答案中的第 1 步并直接获取该文件。
【讨论】:
在 MacBook 中
【讨论】:
使用 Homebrew 在 macOS Monterey 上安装 Az CLI 我在我的 ~/.zshrc 文件中使用了这个命令:
autoload -U +X bashcompinit && bashcompinit
source /opt/homebrew/etc/bash_completion.d/az
自动完成功能已部署到另一个位置。
【讨论】:
对于 bash,步骤如下:
1: AzureJumpBox $ cd /etc/bash_completion.d/ AzureJumpBox $ ls apport_completion azure-cli git-prompt grub
2:AzureJumpBox $ source /etc/bash_completion.d/azure-cli
3: AzureJumpBox $ az aks 您将看到所有选项
【讨论】:
如果你的操作系统有/etc/bash_completion.d/azure-cli,那么使用oh-my-zsh就很简单:
$ ln -s /etc/bash_completion.d/azure-cli ~/.oh-my-zsh/custom/az.zsh
$ source ~/.zshrc
或者你必须下载它:
$ wget https://raw.githubusercontent.com/Azure/azure-cli/dev/az.completion \
-O ~/.oh-my-zsh/custom/az.zsh
【讨论】: