如何让 aws cli 完成与 ubuntu 上的 zsh 一起工作?

如何让 aws cli 完成与 ubuntu 上的 zsh 一起工作?

我按照此处的说明安装了 aws console cli:

http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html#install-bundle-other-os

我想要完成与 zsh 相关的工作。说明source bin/aws_zsh_completer.sh,我在下载的未压缩的 zip 安装程序中没有看到它。

我继续克隆git 仓库本地。

不过,获取文件并不方便。当我尝试自动完成时,我收到 Python 错误,抱怨缺少模块等。(例如ImportError: No module named awscli.completer

我在这里遗漏了什么?

答案1

我认为文档中可能存在印刷错误。

CLI 部分包含以下内容:

source bin/aws_zsh_completer.sh

% source /usr/local/bin/aws_zsh_completer.sh

该文件aws_zsh_completer.sh不在/usr/local/bin,但我在中找到它/usr/local/aws/bin我尝试了这个:

% source /usr/local/aws/bin/aws_zsh_completer.sh

我没有尝试tcsh但我能够用狂欢指示。

我目前正在使用 MacOS,还没有机会在我的 Linux 机器上检查这一点。

答案2

似乎文件的实际位置因安装而异,因此最好在系统中找到文件的确切位置:

cd /                                                                                              
find -name "aws_zsh*" 
./usr/local/bin/aws_zsh_completer.sh

答案3

我发现它位于这里~/.local/bin/aws_zsh_completer.sh

# add this to your ~/.zshrc 
# aws completion
source  ~/.local/bin/aws_zsh_completer.sh

重新加载你的终端。-->Ubuntu 17.10

答案4

对我有用的是:

找出aws_completer

find / -name aws_completer

将其添加到 PATH:

export PATH=/dir/where/aws_completer/is/:$PATH

加载完成:

autoload bashcompinit && bashcompinit
autoload -Uz compinit && compinit
complete -C '$(which aws_completer)' aws

相关内容