でのコマンド完了の設定 AWS CLI - AWS Command Line Interface

このドキュメントは、 のバージョン 1 AWS CLI 専用です。のバージョン 2 に関連するドキュメントについては AWS CLI、バージョン 2 ユーザーガイド を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

でのコマンド完了の設定 AWS CLI

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

仕組み

コマンド、パラメータ、またはオプションの一部を入力すると、コマンド補完機能によってコマンドが自動的に入力されるか、コマンドの候補リストが表示されます。コマンドの完了を促すには、 コマンドに部分的に入力し、完了キーを押します。通常、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 リソース値の推奨リストを表示します。この機能はバージョン 2 AWS CLI でのみ使用できます。

    $ 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 コンプリータの場所は、使用するインストール方法によって異なります。

  • Package Manager - pip、、yum、 などのプログラムでbrewapt-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

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

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

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

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

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

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

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

コマンド補完の確認

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

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

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

注記

がさまざまな完了キーを含む完了 PowerShell を処理する方法については、Microsoft PowerShell Docs「 about_Tab_Expansion」を参照してください。

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 プロファイルの詳細については、Microsoft Docs ウェブサイトの Windows でプロファイルを使用する方法 PowerShell ISEを参照してください。

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

    Register-ArgumentCompleter -Native -CommandName aws -ScriptBlock { param($commandName, $wordToComplete, $cursorPosition) $env:COMP_LINE=$wordToComplete if ($env:COMP_LINE.Length -lt $cursorPosition){ $env:COMP_LINE=$env:COMP_LINE + " " } $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
    $ aws s3

    補完で使用できるコマンドを表示するには、コマンドの一部を入力して、Ctrl + [Space] (スペース) を押します。

    $ aws sCtrl + Space s3 ses sqs sts swf s3api sns storagegateway support