環境
- mac
- macOS Catalina(10.15.4)
- zsh 5.7.1
-aws-cli/2.0.6 Python/3.7.4 Darwin/19.4.0 botocore/2.0.0dev10
事象
mac OS Catalinaでawscliv2をインストールした際にタブ補完が効かない事象に遭遇した。
結論から言うと、macで使用しているデフォルトのzshでcomplete
コマンドが command not found
なのが原因
解決策
bashの互換モードを有効にしてcompleteコマンドを読み込ませる。
~/.zshrcに以下3行を追加して様子を見てみる。
追記したら~/.zshrcを再度読み込みます。
autoload bashcompinit
bashcompinit
complete -C '/usr/local/bin/aws_completer' aws
aws_completerの場所は事前にwhich aws_completer
で調べ、自身の環境の値に変えてください。
下記コマンドを実行して~/.zshrc
に追加します。.zshrcなければ作ってください。
command
cat << _EOF_ >> ~/.zshrc
# awscli
autoload bashcompinit
bashcompinit
complete -C '/usr/local/bin/aws_completer' aws
_EOF_
source ~/.zshrc
とりあえずこの方法で自分の環境では補完が効くようになりました。(2020年4月 現在)
そのうち何かしなくても補完効くようになるかもしれませんが同様の事象の方は試してみてください。
参考
macOS での AWS CLI バージョン 2 のインストール
コマンド補完
v2 : AWS ZSH completer does not exist #4950