Search code examples
shellosx-lionzsh

in mac always getting zsh: command not found:


I am using the z Shell (zsh) instead of the default bash, and something wrong happen so that all commands that used to work are no longer recognized:

    ls
    zsh: command not found: ls

    open -e .zshrc
    zsh: correct 'open' to '_open' [nyae]? 

I don't know how to reset zsh or how to fix this. Here is the content of $PATH variable:

    echo $PATH
    /Users/Malloc/bin/Sencha/Cmd/3.1.2.342:/usr/local/bin/mate

I cannot open the .bash_profile file nor .zshrc file, seems the only solution is to reset the zsh. Any ideas?

EDIT:

I even tried to reset zsh as indicated in this thread, but always got command not found error:

    exec zsh
    zsh: command not found: zsh

So what's going on? Why all commands are lost?

For reset shell i just add this in .zshrc and working fine

eval "$(rbenv init -)"
export PATH="$PATH:$HOME/.rvm/bin"
export PATH="/opt/homebrew/bin:$PATH"
export PATH="/usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.6.3p62/bin:$PATH"

Solution

  • It's evident that you've managed to mess up your PATH variable. (Your current PATH doesn't contain any location where common utilities are located.)

    Try:

    PATH=/bin:/usr/bin:/usr/local/bin:/sbin:${PATH}
    export PATH
    

    Alternatively, for "resetting" zsh, specify the complete path to the shell:

    exec /bin/zsh
    

    or

    exec /usr/bin/zsh