command not found: complete

17,819

Solution 1

In your .zshrc, you must source autojump.zsh, not autojump.bash (I do not know where it will be located on a Mac, but it will be in same folder as autojump.bash).

On Ubuntu, here is what you need to append at the end of your .zshrc:

source /usr/share/autojump/autojump.zsh

Solution 2

To fix the problem, you should update the line:

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

to say:

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

i.e. use the .zsh version of the autojump script. That fixed it for me.

Solution 3

That file has no Shebang. This means that it is probably getting interpreted by Zsh.

This is a problem because complete is a Bash builtin.

Perhaps this can be a fix for you, or maybe

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

Solution 4

In my case, comment out

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

solved the issue.

Share:
17,819
st0rk
Author by

st0rk

Updated on June 01, 2022

Comments

  • st0rk
    st0rk almost 2 years

    I have a fresh mac in front of me, I installed homebrew (just fine), and oh my zsh (just fine).

    I'm trying to install autojump which is a intelligent database of directories. For example, you can 'jump' to ~/Documents with j doc in terminal.

    I did this

    brew install autojump

    I already have my .zshrc that looks fine I think. I added the line into it that it said:

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

    When I start iterm2 I get the following warning:

    /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
    

    I have used brew to install other things, and I can run autojump -s successfully so I know it is seeing the $path. I don't know what else could be wrong though, as this is all a fresh install.

  • st0rk
    st0rk over 11 years
    So I just add it manually? I just looked at another machine I have this running on and I don't have a shebang. My .bashrc, .bash_profile, .zshrc all match. So weird..