awsのコマンドは沢山あり、かつサブコマンドは大体長いので覚えるのも、タイピングするのも面倒くさいですよね。
他のコマンド同様にTabキー補完できるようになれば、いくらか楽になります。楽なる方法を説明したいと思います。
環境
- MacOS Mojave 10.14.6
- Bash 3.2.57
- Homebrew 2.1.9
設定方法
今回はBashにのみフォーカスします。他のシェルについてもパッケージ名やディレクトリ名が違うだけで、同様の手順を踏めばTab補完ができると思います。
brewコマンドはインストール済みであると想定して話を進めていきます。まだインストールしていない方はこちらを参考にしてインストールしてください。
パッケージインストール
bash-completion
$ brew install bash-completion
awscli
$ pip install awscli
または
$ brew install awscli
~/.bashrcの編集
~/.bashrc
または~/.bash_profile
を編集してBashの補完を有効にします。
if [ -r /usr/local/etc/bash_completion ]; then
. /usr/local/etc/bash_completion
fi
$ source ~/.bashrc
シンボリックリンクの作成
/usr/local/etc/bash_completion.d
下にawscliの補完用スクリプトのシンボリックリンクを作成します。
$ which aws_bash_completer
/usr/local/bin/aws_bash_completer
$ ln -s /usr/local/bin/aws_bash_completer /usr/local/etc/bash_completion.d/aws
おわりに
これでシェルを再起動すれば、Tab補完ができるようになります。
他のコマンドの補完もしたい時には、補完用スクリプトのシンボリックリンクを/usr/local/etc/bash_completion.d
下に作成すればOKです。