16

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

我正在尝试安装自动跳转,它是一个智能目录数据库。例如,您可以在终端中“跳转”到~/Documentswith 。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. 我不知道还有什么问题,因为这都是全新的安装。

4

6 回答 6

9

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

在 Ubuntu 上,您需要在 .zshrc 末尾附加以下内容:

source /usr/share/autojump/autojump.zsh
于 2013-03-29T11:15:21.390 回答
5

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

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

说:

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

即使用自动跳转脚本的.zsh版本。那为我修好了。

于 2014-01-29T23:08:32.617 回答
1

该文件没有Shebang。这意味着它可能会被 Zsh 解释。

这是一个问题,因为completeBash builtin

也许可以为您解决问题,或者也许

[[ -s `brew --prefix`/etc/autojump.sh ]] && bash `brew --prefix`/etc/autojump.sh
于 2013-01-18T23:51:37.463 回答
1

在我的情况下,注释掉

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

解决了这个问题。

于 2020-07-30T02:07:05.977 回答
0

您需要添加

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

到你的~/.bash_profile. Homebrew 在您安装时会告诉您这一点,但我第一次没有注意到它,结果来到了这个网页。

于 2013-09-19T12:41:03.910 回答
0

就我而言,我解决了这个问题,添加:

autoload bashcompinit && bashcompinit

在第一个complete命令之前。

我用过这个链接:固定!az.completion:10:找不到命令:完成

于 2021-11-08T22:21:32.207 回答