阿里云 CLI 提供与 bash、zsh 兼容的命令自动补全功能，可在输入命令时自动补全或列出候选项，提升操作效率。该功能仅适用于 Linux 和 macOS，暂不支持 Windows。  

## **支持的平台和 Shell**
命令自动补全功能依赖 Shell 的补全机制（`COMP_LINE` 和 `COMP_POINT` 环境变量），仅在以下平台和 Shell 组合中可用。
<table> <thead> <tr> <td><p><b>操作系统</b></p></td> <td><p><b>Shell</b></p></td> <td><p><b>是否支持</b></p></td> </tr> </thead> <colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> <tbody> <tr> <td><p>Linux</p></td> <td><p>bash</p></td> <td><p><span><span>支持</span></span></p></td> </tr> <tr> <td><p>Linux</p></td> <td><p>zsh</p></td> <td><p><span><span>支持</span></span></p></td> </tr> <tr> <td><p>macOS</p></td> <td><p>bash</p></td> <td><p><span><span>支持</span></span></p></td> </tr> <tr> <td><p>macOS</p></td> <td><p>zsh</p></td> <td><p><span><span>支持</span></span></p></td> </tr> <tr> <td><p>Windows</p></td> <td><p>CMD</p></td> <td><p><span><span>不支持</span></span></p></td> </tr> <tr> <td><p>Windows</p></td> <td><p>PowerShell</p></td> <td><p><span><span>不支持</span></span></p></td> </tr> </tbody> </table>

## 开启或关闭命令自动补全
通过如下命令开启或关闭自动补全功能，目前仅支持 zsh、bash。

* 启用自动补全功能

  ```
  HELPCODEESCAPE-shell
  aliyun auto-completion
  ```

  执行该命令后，CLI 会在当前 Shell 的配置文件（bash 对应 `~/.bashrc` 或 `~/.bash_profile`，zsh 对应 `~/.zshrc`）中写入补全脚本。重新打开终端，或执行 `source ~/.bashrc`（bash）或 `source ~/.zshrc`（zsh）使配置生效。
* 关闭自动补全功能

  ```
  HELPCODEESCAPE-shell
  aliyun auto-completion --uninstall
  ```

  执行该命令后，CLI 会移除 Shell 配置文件（`~/.bashrc` 或 `~/.zshrc`）中的补全脚本行，并创建 `.bck` 备份文件。

## 功能示例
输入命令、参数或选项的部分内容后，命令自动补全功能可自动完成命令或显示候选列表。以下示例展示不同场景下的实际应用。

### 示例 1：显示建议的命令列表

1. 输入待补全命令的首字母后，按下 ***Tab***键。

   ```
   HELPCODEESCAPE-shell
   aliyun ecs c
   ```

2. 系统显示 `c` 开头的可用命令列表。

   ```
   HELPCODEESCAPE-shell
   config           configure        contactcenterai
   ```

### 示例 2：显示建议的参数列表

1. 输入待补全参数的首字母后，按下 ***Tab*** 键。

   ```
   HELPCODEESCAPE-shell
   aliyun configure --m
   ```

2. 系统z自动补全该命令下 `m` 开头的参数。

   ```
   HELPCODEESCAPE-shell
    --mode
   ```