AWS Command Line Interface
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

命令完成

在类 Unix 系统上,AWS CLI 包含一项命令完成功能,让您可以使用 Tab 键完成部分键入的命令。在大多数系统上,该功能不是自动安装的,需要手动配置。

要配置命令完成,您必须具有两项信息:所使用的 Shell 的名称和 aws_completer 脚本的位置。

Amazon Linux

默认情况下,在运行 Amazon Linux 的 Amazon EC2 实例上自动配置和启用命令完成。

识别 Shell

如果不确定所使用的 Shell,可以使用以下命令之一进行识别:

echo $SHELL – 显示 Shell 的程序文件名称。这通常会与所使用的 Shell 的名称匹配,除非您在登录后启动了不同的 Shell。

$ echo $SHELL /bin/bash

ps – 显示为当前用户运行的进程。Shell 将是其中之一。

$ ps PID TTY TIME CMD 2148 pts/1 00:00:00 bash 8756 pts/1 00:00:00 ps

定位 AWS 完成标签

AWS 完成标签的位置可能随所用安装方法而异。

程序包管理器pipyumbrewapt-get 等程序通常在标准路径位置安装 AWS 完成标签(或其符号链接)。在这种情况下,which 命令可以为您定位完成标签。

如果在没有 --user 命令的情况下使用 pip,则可能会看到以下路径。

$ which aws_completer /usr/local/aws/bin/aws_completer

如果您在 pip install 命令中使用了 --user 参数,则通常可以在 $HOME 文件夹下的 local/bin 文件夹中找到完成标签。

$ which aws_completer /home/username/.local/bin/aws_completer

捆绑安装程序 – 如果根据上一节中的说明使用捆绑安装程序,AWS 完成标签将位于安装目录的 bin 子文件夹中。

$ ls /usr/local/aws/bin activate activate.csh activate.fish activate_this.py aws aws.cmd aws_completer ...

如果所有 else 都失败,可以使用 find 在整个文件系统中搜索 AWS 完成标签。

$ find / -name aws_completer /usr/local/aws/bin/aws_completer

将补全程序的文件夹添加到您的路径中

要让 AWS 补全程序成功运行,必须先将其添加到计算机的路径中。

  1. 在您的用户文件夹中查找 Shell 的配置文件脚本。如果您不能确定所使用的 Shell,请运行 echo $SHELL。

    $ ls -a ~ . .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads
    • Bash.bash_profile.profile.bash_login

    • Zsh.zshrc

    • Tcsh.tcshrc.cshrc.login

  2. 在配置文件脚本末尾添加与以下示例类似的导出命令。将 /usr/local/aws/bin 替换为您在上一部分中找到的文件夹。

    export PATH=/usr/local/aws/bin:$PATH
  3. 将配置文件重新加载到当前会话中,以使更改生效。将 .bash_profile 替换为您在第一部分中找到的 shell 脚本的名称。

    $ source ~/.bash_profile

启用命令完成

运行命令以启用命令完成。用来启用完成功能的命令取决于所使用的 Shell。您可以将命令添加到外壳程序的 RC 文件中,以便在每次打开一个新外壳程序时运行它。在每个命令中,将路径 /usr/local/aws/bin 替换为上一部分中在您的系统上找到的那个。

  • bash – 使用内置命令 complete

    $ complete -C '/usr/local/aws/bin/aws_completer' aws

    将命令添加到 ~/.bashrc 中,以便在每次打开一个新外壳程序时运行它。您的 ~/.bash_profile 应指定 ~/.bashrc 的来源,以确保该命令也在登录外壳程序中运行。

  • tcshtcsh 的完成采用字类型和样式来定义完成行为。

    > complete aws 'p/*/`aws_completer`/'

    将命令添加到 ~/.tschrc 中,以便在每次打开一个新外壳程序时运行它。

  • zsh – 源 bin/aws_zsh_completer.sh

    % source /usr/local/aws/bin/aws_zsh_completer.sh

    AWS CLI 使用 bash 兼容性自动完成 (bashcompinit) 实现 zsh 支持。有关更多详细信息,请参阅aws_zsh_completer.sh 的顶部。

    将命令添加到 ~/.zshrc 中,以便在每次打开一个新外壳程序时运行它。

测试命令完成

启用命令完成后,输入部分命令并按 Tab 查看可用命令。

$ aws sTAB s3 ses sqs sts swf s3api sns storagegateway support