我面前有一个新的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
。我不知道还有什么可能是错的,因为这是一个全新的安装。
答案 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解释。
这是一个问题,因为complete
是Bash 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在您安装时会告诉您,但我第一次没有注意到它并且因此来到此网页。