AWS Shell
项目描述
aws-shell - AWS CLI的交互式生产力增强器
安装
aws-shell需要python和pip来安装。您可以使用pip安装aws-shell
$ pip install aws-shell
如果您不是在虚拟环境中安装,您可以运行
$ sudo pip install aws-shell
Mac OS X (10.11 El Capitan) 用户:存在苹果及其包含的python包依赖项的问题(更多信息请参见https://github.com/pypa/pip/issues/3165)。我们正在研究修复此问题的方法,但在此期间,要安装aws-shell,您可以运行:sudo pip install aws-shell --upgrade --ignore-installed six
安装aws-shell后,现在您可以运行
$ aws-shell
要退出shell,按Ctrl-D。
升级aws-shell
如果您想升级到aws-shell的最新版本,您可以运行
$ pip install --upgrade aws-shell
您也可以在AWS CLI发布新版本时使用此升级命令,该版本包含新的服务和API更新。您将能够在aws-shell中使用这些新的服务和API更新。
支持的Python版本
aws-shell在AWS CLI支持的相同Python版本上运行
2.6.5及以上
2.7.x及以上
3.3.x及以上
3.4.x及以上
配置
aws-shell 使用与 AWS CLI 相同的配置设置。如果您之前从未使用过 AWS CLI,那么运行 configure 命令是最容易开始的方式。
$ aws-shell aws> configure AWS Access Key ID [None]: your-access-key-id AWS Secret Access Key [None]: your-secret-access-key Default region name [None]: region-to-use (e.g us-west-2, us-west-1, etc). Default output format [None]: aws>
有关配置设置的更多信息,请参阅AWS CLI 入门指南。
基本用法
aws-shell 接受的命令与 AWS CLI 相同,但您不需要提供 aws 前缀。例如,以下是您可以尝试的一些命令
$ aws-shell aws> ec2 describe-regions { "Regions": [ { "Endpoint": "ec2.eu-west-1.amazonaws.com", "RegionName": "eu-west-1" }, ... aws> s3 ls 2015-12-07 15:03:34 bucket1 2015-12-07 15:03:34 bucket2 aws> dynamodb list-tables --output text TABLENAMES First TABLENAMES Second TABLENAMES Third
配置文件
aws-shell 支持使用 AWS CLI 配置文件。您有两个选项来使用配置文件。首先,您可以在启动 aws-shell 时提供配置文件
$ aws-shell --profile prod aws>
这样做后,所有服务器端完成以及您运行的 CLI 命令将自动使用 prod 配置文件。
您也可以在 aws-shell 中更改当前配置文件
$ aws-shell aws> .profile demo Current shell profile changed to: demo
您还可以使用以下方式检查您在 aws-shell 中配置的配置文件
aws> .profile Current shell profile: demo
使用 .profile 点命令更改您的配置文件后,所有服务器端完成以及 CLI 命令将自动使用您配置的新配置文件。
特性
命令和选项自动完成
aws-shell 在您输入时提供命令和选项的自动完成。
简写自动完成
aws-shell 还可以填写各种 AWS CLI 选项简写语法的示例。
服务器端自动完成
aws-shell 还利用 boto3,即 Python 的 AWS SDK,来自动完成服务器端资源,例如 Amazon EC2 实例 ID、Amazon Dynamodb 表名、AWS IAM 用户名、Amazon S3 存储桶名等。
此功能正在积极开发中。支持的资源列表持续增长。
模糊搜索
每个自动完成值都支持模糊搜索。这使您可以用更少的输入来指定要运行的命令、选项和值。您可以尝试输入
每个子词的首字母:ec2 describe-reserved-instances-offerings -> ec2 drio
每个词的一小部分:ec2 describe-instances -> ec2 descinst
命令的任何部分:dynamodb table -> 提供所有包含子序列 table 的命令。
内联文档
aws-shell 会自动在您输入命令时调出文档。它将显示 CLI 选项的内联文档。还有一个单独的文档面板,它将显示您正在输入的当前命令或选项的文档。按 F9 键可以在文档面板和 CLI 面板之间切换焦点,让您可以使用所选快捷键进行导航。
Fish 风格自动建议
aws-shell 支持类似 Fish 的自动建议。使用右箭头键来完成建议。
命令历史记录
aws-shell 记录您运行的命令并将它们写入 ~/.aws/shell/history。您可以使用上箭头键和下箭头键浏览您的历史记录。
工具栏选项
aws-shell 有一个底部的工具栏,提供几个选项
F2 在模糊匹配和子字符串匹配之间切换
F3 在 VI 和 Emacs 键绑定之间切换
F4 在单列和多列自动完成之间切换
F5 显示或隐藏帮助文档面板
F9 在 CLI 面板和文档面板之间切换焦点
F10 或 Ctrl-D 退出 aws-shell
当你在工具栏中切换选项时,您的首选项将持久保存到 ~/.aws/shell/awsshellrc 文件,以便下次运行 aws-shell 时,您的首选项将得到恢复。
点命令
aws-shell 提供了针对 aws-shell 的特定命令。通过在命令前添加 . 前缀来访问这些命令。
退出 Shell
您可以通过运行 .exit 或 .quit 命令来退出 shell。
使用 .edit 创建 Shell 脚本
有时您可能希望将您在 aws-shell 中运行的一系列命令组合成一个 shell 脚本。除了保存在历史文件中的命令历史外,aws-shell 还会跟踪您从第一次开始 aws-shell 会话以来运行的所有命令。
您可以通过运行 .edit 命令来在一个编辑器中打开所有这些命令。aws-shell 将使用 EDITOR 环境变量,如果未设置,则默认在 Windows 上使用 notepad,在其他平台上使用 vi。
aws> ec2 describe-instances aws> dynamodb list-tables aws> .edit
使用 .profile 更改配置文件
您可以使用 .profile 点命令更改 aws-shell 当前使用的 AWS CLI 配置文件。如果您不带参数运行 .profile 命令,则将打印当前配置的 shell 配置文件。
aws> .profile demo Current shell profile changed to: demo aws> .profile Current shell profile: demo
.cd
您可以使用 .cd 命令更改 aws-shell 的当前工作目录。
aws> !pwd /usr aws> .cd /tmp aws> !pwd /tmp
执行 Shell 命令
aws-shell 以多种方式与其他命令集成。首先,您可以像将 AWS CLI 命令管道到其他进程一样将输出重定向到文件。
aws> dynamodb list-tables --output text | head -n 1 TABLENAMES First aws> dynamodb list-tables --output text > /tmp/foo.txt
其次,如果您想运行 shell 命令而不是 AWS CLI 命令,可以在您的命令前添加 ! 前缀。
aws> !ls /tmp/ foo.txt bar.txt
开发者预览状态
aws-shell 目前处于开发者预览阶段。我们欢迎反馈、功能请求和错误报告。为了响应用户反馈,我们可能会在迭代 aws-shell 时进行向后不兼容的更改。
更多信息
以下是更多信息的杂项链接
项目详情
下载文件
下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装软件包 的信息。