Configuring command completion in the AWS CLI
AWS Command Line Interface (AWS CLI) には、Tab キーを使用して部分的に入力されたコマンドを完了できる bash 互換のコマンド補完機能が含まれています。ほとんどのシステムでは、これを手動で設定する必要があります。
AWS CLI バージョン 2 の自動プロンプト機能のについては、「AWS CLI でのコマンドプロンプトの有効化と使用」を参照してください。
仕組み
コマンド、パラメータ、またはオプションの一部を入力すると、コマンド補完機能によってコマンドが自動的に入力されるか、コマンドの候補リストが表示されます。コマンド補完を使用するには、コマンドの一部を入力し、ほとんどのシェルで通常は[Tab] (タブ) になっている保管キーを押します。
次の例は、コマンド補完を使用するさまざまな方法を示しています。
-
コマンドの一部を入力して
Tabキーを押すと、コマンドの候補リストが表示されます。$aws dynamodb dTABdelete-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 delete-table --table-nameTABTable 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 コンプリータの場所は、使用するインストール方法によって異なります。
-
パッケージマネージャー -
pip、yum、brew、および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 つはシェルです。
$psPID TTY TIME CMD 2148 pts/1 00:00:00 bash 8756 pts/1 00:00:00 ps
ステップ 3: コンプリータをパスに追加する
-
ユーザーフォルダーでシェルのプロファイルスクリプトを見つけます。
$ls -a ~/. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads-
Bash –
.bash_profile、.profile、または.bash_login。 -
Zsh -
.zshrc -
Tcsh -
.tcshrc、.cshrc、.login
-
-
次の例のように、プロファイルスクリプトの末尾にエクスポートコマンドを追加します。「
」を、前のセクションで検出したフォルダに置き換えます。/usr/local/bin/export PATH=/usr/local/bin/:$PATH -
変更が有効になるように、プロファイルを現在のセッションに再ロードします。
を最初のセッションで見つけたシェルスクリプトの名前で置き換えます。.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`/'前のコマンドを
~/.tcshrcに追加して、新しいシェルを開くたびに実行します。
コマンド補完を有効にした後は、「コマンド補完の確認」は動作しています。
コマンド補完の確認
コマンド補完を有効にしたら、シェルをリロードし、コマンドの一部を入力し、Tab を押して使用可能なコマンドを表示します。
$aws sTABs3 ses sqs sts swf s3api sns storagegateway support
Windows でのコマンド補完の設定。
注記
PowerShell による補完の処理 (さまざまな補完キーを含む) についての詳細は、about_Tab_Expansion
Windows で PowerShell のコマンド補完を有効にするには、PowerShell で次の手順を実行します。
-
次のコマンドで「
$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 でプロファイルを使用する方法
」を参照してください。 -
コマンド補完を有効にするには、次のコードブロックをプロファイルに追加し、保存し、ファイルを閉じます。
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 } -
コマンド補完を有効にしたらシェルをリロードして、コマンドの一部を入力し、[Tab] (タブ) を押して使用可能なコマンドを順次表示させます。
$aws sTab$awss3補完で使用できるコマンドを表示するには、コマンドの一部を入力して、Ctrl + [Space] (スペース) を押します。
$aws sCtrl + Spaces3 ses sqs sts swf s3api sns storagegateway support