メニュー
AWS Command Line Interface
ユーザーガイド

コマンド補完

Unix に似たシステムでは、AWS CLI に含まれるコマンド補完機能によって、Tab キーを使用して部分的に入力されたコマンドを補完します。この機能は自動的にインストールされないため、手動で設定する必要があります。

コマンド補完の設定には 2 つの情報として、使用しているシェルの名前と aws_completer スクリプトの場所が必要です。

Amazon Linux での補完

コマンド補完は、Amazon Linux を実行しているインスタンスにデフォルトで設定されます。

シェルを識別する

使用しているシェルがわからない場合は、次のいずれかのコマンドを使用して識別します。

echo $SHELL – シェルのインストールディレクトリが表示されます。これは通常、ログイン後に別のシェルを起動しない限り、使用中のシェルと一致します。

$ echo $SHELL
/bin/bash

ps – 現在のユーザーの実行中のプロセスが表示されます。シェルはそのうちの 1 つです。

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

AWS コンプリータを見つける

場所は、使用するインストール方法によって異なります。

パッケージマネージャー – pip、yum、brew、apt-get などのプログラムは、通常、標準のパスの場所に AWS コンプリータ (またはシンボリックリンク) をインストールします。この場合、which がコンプリータを見つけます。

$ which aws_completer
/usr/local/bin/aws_completer

バンドルされたインストーラ – 前のセクションの手順に従ってバンドルされたインストーラを使用した場合、AWS コンプリータはインストールディレクトリの bin サブフォルダに配置されます。

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

他のすべてが失敗した場合、find を使用して、AWS コンプリータのファイルシステム全体を検索します。

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

コマンド補完を有効にする

コマンドを実行して、コマンドの完了を有効にします。補完を有効にするために使用するコマンドは、使用しているシェルに依存します。コマンドをシェルの RC ファイルに追加して、新しいシェルを開くたびに実行できます。

  • bash – 組み込みのコマンド complete を使用します。

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

    コマンドを ~/.bashrc に追加して、新しいシェルを開くたびに実行します。~/.bash_profile はソースとして ~/.bashrc を使用して、コマンドがログインシェルでも実行されるようにできます。

  • tcsh – tcsh の補完は、補完の振る舞いを定義するためのワードタイプとパターンを取ります。

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

    コマンドを ~/.tschrc に追加して、新しいシェルを開くたびに実行します。

  • zsh – source bin/aws_zsh_completer.sh を使用します。

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

    AWS CLI は、zsh サポートのために bash 互換性自動補完 (bashcompinit) を使用します。詳細については、aws_zsh_completer.sh の一番上を参照してください。

    コマンドを ~/.zshrc に追加して、新しいシェルを開くたびに実行します。

コマンド補完のテスト

コマンド補完を有効にしたら、コマンドの一部を入力し、タブを押して使用可能なコマンドを表示します。

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