コマンド補完 - AWS Command Line Interface

Python 2.7、3.4、および 3.5 は、AWS CLI バージョン 1 に対して非推奨になっています。詳細については、「AWS CLI バージョンについて」の AWS CLI バージョン 1 セクションを参照してください。

コマンド補完

AWS Command Line Interface (AWS CLI) には、Tab キーを使用して部分的に入力されたコマンドを完了できる bash 互換のコマンド補完機能が含まれています。ほとんどのシステムでは、これを手動で設定する必要があります。

AWS CLI バージョン 2 の自動プロンプト機能のについては、「AWS CLI でコマンドの入力プロンプトを表示する」を参照してください。

仕組み

コマンド、パラメータ、またはオプションの一部を入力すると、コマンド補完機能によってコマンドが自動的に入力されるか、コマンドの候補リストが表示されます。コマンド補完を使用するには、コマンドの一部を入力して Tab キーを押します。

次の例は、コマンド補完を使用するさまざまな方法を示しています。

  • コマンドの一部を入力して Tab キーを押すと、コマンドの候補リストが表示されます。

    $ aws dynamodb dTAB delete-backup describe-global-table delete-item describe-global-table-settings delete-table describe-limits describe-backup describe-table describe-continuous-backups describe-table-replica-auto-scaling describe-contributor-insights describe-time-to-live describe-endpoints
  • パラメータの一部を入力して Tab キーを押すと、パラメータの候補リストが表示されます。

    $ aws dynamodb delete-table --TAB --ca-bundle --endpoint-url --profile --cli-connect-timeout --generate-cli-skeleton --query --cli-input-json --no-paginate --region --cli-read-timeout --no-sign-request --table-name --color --no-verify-ssl --version --debug --output
  • パラメータを入力して Tab キーを押すと、リソース値の候補リストが表示されます。この機能は、AWS CLI バージョン 2 でのみ使用できます。

    $ aws dynamodb db delete-table --table-name TAB Table 1 Table 2 Table 3

Linux または macOS でのコマンド補完の設定。

Linux または macOS でコマンド補完を設定するには、使用しているシェルの名前と aws_completer スクリプトの場所を知っている必要があります。

注記

コマンド補完は自動的に設定され、Amazon Linux を実行する Amazon EC2 インスタンス上でデフォルトで有効化されます。

コンプリータがフォルダがパスにあることを確認します

AWS コンプリータを正常に動作させるには、aws_completer がシェルのパス上にある必要があります。「which」コマンドで、コンプリータがパスにあるかどうかをチェックできます。

$ which aws_completer /usr/local/bin/aws_completer

「which」コマンドで補完するものが見つからない場合は、次の手順を使用してコンプリータのフォルダをパスに追加します。

ステップ 1: AWS コンプリータを見つける

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

  • パッケージマネージャー - pipyumbrew、および apt-get などのプログラムは通常、AWS コンプリータ (またはシンボリックリンク) を標準のパスの場所にインストールします。

    • pip を「--user」パラメータを指定せずにを使用した場合、デフォルトのパスは「/usr/local/bin/aws_completer」です。

    • pip を「--user」パラメータと共に使用した場合デフォルトのパスは「/home/username/.local/bin/aws_completer」です。

  • バンドルインストーラ - バンドルされたインストーラを使用した場合、デフォルトのパスは「/usr/local/bin/aws_completer」です。

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

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

ステップ 2: シェルを識別する

使用しているシェルを特定するには、次のコマンドのいずれかを使用します。

  • 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

ステップ 3: コンプリータをパスに追加する

  1. ユーザーフォルダーでシェルのプロファイルスクリプトを見つけます。

    $ 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/bin/」を、前のセクションで検出したフォルダに置き換えます。

    export PATH=/usr/local/bin/:$PATH
  3. 変更が有効になるように、プロファイルを現在のセッションに再ロードします。.bash_profile を最初のセッションで見つけたシェルスクリプトの名前で置き換えます。

    $ source ~/.bash_profile

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

コンプリータがパスにあることを確認したら、使用しているシェル上で適切なコマンドを実行して、コマンド補完を有効にします。コマンドをシェルのプロファイルに追加して、新しいシェルを開くたびに実行できます。各コマンドで、「/usr/local/bin/」パスを、コンプリータがフォルダがパスにあることを確認します のシステムにあるパスに置き換えます。

  • bash - 組み込みコマンド「complete」を使用します。

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

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

  • zsh - コマンド補完を実行するには、 bashcompinit プロファイルスクリプトの最後に次の自動ロード行を追加して「~/.zshrc」を実行する必要があります。

    $ autoload bashcompinit && bashcompinit $ autoload -Uz compinit && compinit $ compinit

    コマンド補完を有効にするには、組み込みコマンド complete を使用します。

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

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

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

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

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

コマンド補完を有効にした後は、「コマンド補完の確認」は動作しています。

Windows でのコマンド補完の設定。

Windows で PowerShell のコマンド補完を有効にするには、PowerShell で次の手順を実行します。

  1. 次のコマンドで「$PROFILE」を開きます。

    PS C:\> Notepad $PROFILE

    $PROFILE」がない場合は、次のコマンドを使用してユーザープロファイルを作成します。

    PS C:\> if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }

    PowerShell プロファイルの詳細については、 マイクロソフト Docs Web サイトの「Windows PowerShell ISE でプロファイルを使用する方法 」を参照してください。

  2. コマンド補完を有効にするには、次のコードブロックをプロファイルに追加し、保存し、ファイルを閉じます。

    Register-ArgumentCompleter -Native -CommandName aws -ScriptBlock { param($commandName, $wordToComplete, $cursorPosition) $env:COMP_LINE=$wordToComplete $env:COMP_POINT=$cursorPosition aws_completer.exe | ForEach-Object { [System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_) } Remove-Item Env:\COMP_LINE Remove-Item Env:\COMP_POINT }
  3. コマンド補完の確認「」は機能しています。

コマンド補完の確認

コマンド補完を有効にしたら、シェルをリロードし、コマンドの一部を入力し、Tab を押して使用可能なコマンドを表示します。

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