【问题标题】:How to enable command completion for Azure CLI in zsh?如何在 zsh 中为 Azure CLI 启用命令完成?
【发布时间】:2018-03-14 09:00:31
【问题描述】:

我发现 Azure CLI(az 命令)有可用于 bash[1] 的命令完成提示,但我没有找到有关如何为 zsh 安装/启用它的任何指示。如果可能的话,任何人都知道该怎么做?如果相关,我会使用 oh-my-zsh。

[1]https://docs.microsoft.com/en-us/cli/azure/get-started-with-azure-cli?view=azure-cli-latest#finding-commands

【问题讨论】:

    标签: azure zsh azure-cli zsh-completion


    【解决方案1】:

    az 可以在 zsh 中完成。

    1. 从 Azure CLI git repo 获取 bash 的完成并将此文件存储在 zsh 启动脚本可以找到的位置:https://raw.githubusercontent.com/Azure/azure-cli/dev/az.completion

    2. 在 zsh if it's not enabled already 中启用 bash 自动补全:

      autoload -U +X bashcompinit && bashcompinit
      
    3. 为 az 启用命令补全:

      source /path/to/az.completion
      

    步骤 2 和 3 中的代码 sn-ps 可以添加到 shell 启动文件(.zshrc 或类似文件)以使更改永久生效。

    【讨论】:

    • 您应该将上面给出的autoloadsource 命令添加到您的.zshrc 文件中,自动加载不会在会话之间持续存在,并且必须在源命令之前运行。很好的答案,只是想澄清一下。
    • 不知道为什么微软没有为 ZSH 的官方支持付出一些努力。
    【解决方案2】:

    此外,bash 完成文件应该已经安装在您的系统上。

    寻找/etc/bash_completion.d/azure-cli

    如果文件在那里,您可以跳过已接受答案中的第 1 步并直接获取该文件。

    【讨论】:

      【解决方案3】:

      在 MacBook 中

      1. 下载 Bash_completion 脚本
      2. 将 az bash 完成脚本放在 /usr/local/etc/bash_completion.d 中
      3. 确保 az 脚本具有可执行权限。
      4. 如下更新您的 .zshrc 文件 自动加载 bashcompinit && bashcompinit 来源 /usr/local/etc/bash_completion.d/az
      5. 重新启动终端。

      【讨论】:

      • 感谢为通过 Homebrew 安装的用户提供路径!
      【解决方案4】:

      使用 Homebrew 在 macOS Monterey 上安装 Az CLI 我在我的 ~/.zshrc 文件中使用了这个命令:

      autoload -U +X bashcompinit && bashcompinit
      source /opt/homebrew/etc/bash_completion.d/az
      

      自动完成功能已部署到另一个位置。

      【讨论】:

        【解决方案5】:

        对于 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 您将看到所有选项

        【讨论】:

          【解决方案6】:

          如果你的操作系统有/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
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多