我正在使用z Shell (zsh)而不是默认的bash,发生了一些错误,以至于所有以前工作的命令都不再被识别:

    ls
    zsh: command not found: ls

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

我不知道如何重置zsh或如何修复这个。下面是$PATH变量的内容:

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

我无法打开.bash_profile文件也不能打开.zshrc文件,似乎唯一的解决方案是重置zsh。什么好主意吗?

编辑:

我甚至尝试重置zsh在这个线程中指出,但总是得到命令不发现错误:

    exec zsh
    zsh: command not found: zsh

到底发生了什么?为什么所有命令都丢失了?

对于重置shell,我只是在.zshrc中添加了这个,工作正常

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"

当前回答

很明显,您已经弄乱了PATH变量。(您当前的PATH不包含任何公共实用程序所在的位置。)

Try:

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

或者,为了“重置”zsh,指定shell的完整路径:

exec /bin/zsh

or

exec /usr/bin/zsh

其他回答

最好的解决方案工作为我永久改变路径

打开Finder->到文件夹/Users/ /usr/local/bin

用TextEdit打开.zshrc

.zshrc是隐藏文件,所以通过命令+shift+取消隐藏它。新闻

删除文件内容和类型

导出路径= ~ / usr / bin: / bin: / usr / sbin: / sbin: $路径

并保存

now

zsh: command not found消失

在macOS上不通过iTerm2或本机终端编辑.zshrc文件的一种方法是在另一个应用程序中使用终端。例如,我使用终端作为VSCode的一部分,并能够找到和编辑文件。

要永久修复它,你应该去根目录下的.zshrc文件。你可以:

CD返回到根目录 代码。从你的VS Code打开目录,以便能够轻松地编辑你的.zshrc文件 点击VS Code中的.zshrc文件 (1)如果您之前没有对这个文件做过任何修改,它应该如下图所示:

$(rbenv init -) 导出路径= " $路径:$ HOME / .rvm / bin” 导出路径= " / opt /组装/ bin: $路径”

OR

(2)如果你确实做了任何改变,比如添加一些新的PATH,那么只需删除那个PATH。 在我的情况下,我曾经有一个自制路径,所以我删除了它。所以,现在它看起来和步骤4(1)一样。

适用于macOS 12 Monterey:

您可以手动编辑.zshrc文件,并恢复您对PATH所做的更改。

打开TextEdit应用程序。 进入文件夹:cmd + shift + g 类型:~ / 查看隐藏文件:cmd + shift +。 选择:. zshrc 恢复更改,保存文件,并重新打开终端。

卸载和重新安装zsh为我工作:

sudo yum remove zsh
sudo yum install -y zsh