命令未找到:完成

问题描述 投票:13回答:4

我面前有一个新鲜的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。我不知道还有什么可能是错的,因为这是一个全新的安装。

bash autocomplete terminal zsh homebrew
4个回答
8
投票

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

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

source /usr/share/autojump/autojump.zsh

5
投票

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

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

说:

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

即使用.jsh版本的autojump脚本。这为我解决了这个问题。


1
投票

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

这是一个问题,因为complete是一个Bash builtin

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

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

0
投票

你需要添加

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

到你的~/.bash_profile。 Homebrew在你安装时告诉你这个,但我第一次没有注意到它,因此来到这个网页。

© www.soinside.com 2019 - 2024. All rights reserved.