命令未找到:完成

时间:2013-01-18 23:43:34

标签: bash autocomplete terminal zsh homebrew

我面前有一个新的mac,我安装了自制软件(很好),哦我的zsh(很好)。

我正在尝试安装autojump,这是一个智能的目录数据库。例如,您可以在终端中使用~/Documents“跳转”到j doc

我做了这个

brew install autojump

我认为我的.zshrc看起来很好。我在其中添加了一行说:

[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh

当我启动iterm2时,我收到以下警告:

/usr/local/Cellar/autojump/21.3.0/etc/autojump.bash:13: command not found: complete
/usr/local/Cellar/autojump/21.3.0/etc/autojump.bash:55: = not found

我使用brew来安装其他东西,我可以成功运行autojump -s,所以我知道它正在看$path。我不知道还有什么可能是错的,因为这是一个全新的安装。

5 个答案:

答案 0 :(得分:7)

在.zshrc中,您必须提供 autojump.zsh ,而不是 autojump.bash (我不知道它在Mac上的位置,但它与autojump.bash位于同一个文件夹中。)

在Ubuntu上,这是你需要在.zshrc末尾附加的内容:

source /usr/share/autojump/autojump.zsh

答案 1 :(得分:5)

要解决此问题,您应该更新以下行:

[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh

说:

[[ -s `brew --prefix`/etc/autojump.zsh ]] && . `brew --prefix`/etc/autojump.zsh

即。使用autojump脚本的 .zsh 版本。这为我解决了。

答案 2 :(得分:1)

That file没有Shebang。这意味着它可能会被Zsh解释。

这是一个问题,因为completeBash builtin

也许this可能是你的修复,或者

[[ -s `brew --prefix`/etc/autojump.sh ]] && bash `brew --prefix`/etc/autojump.sh

答案 3 :(得分:1)

就我而言,请注释掉

[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

解决了这个问题。

答案 4 :(得分:0)

您需要添加

[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh

~/.bash_profile。 Homebrew在您安装时会告诉您,但我第一次没有注意到它并且因此来到此网页。

相关问题