我正在使用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"

当前回答

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

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

用TextEdit打开.zshrc

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

删除文件内容和类型

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

并保存

now

zsh: command not found消失

其他回答

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

Try:

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

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

exec /bin/zsh

or

exec /usr/bin/zsh

如果您使用的是macOS,请尝试执行此步骤

如果您编写代码在~/中导出PATH。bash_profile则不要错过步骤1

步骤1:

确保在终端打开时加载.bash_profile,检查~/。Bashrc或~/。ZSHRC(如果你用的是zsh),有没有类似的源代码~/。Bash_profile ?如果没有,可以手动添加添加源代码~/。Bash_profile在这里 另外,确保这段代码在你的.bash_profile > export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin如果没有,把这段代码添加进去

9月2:

确保“Visual Studio Code”。应用程序是在正确的地方> "/应用程序"或"/Users/$(whoami)/应用程序" 删除旧安装的vs-code PATH rm -rf /usr/local/bin/code 打开“Visual Studio Code.app” CMD+Shift+P,然后选择“Shell命令:在PATH中安装“code”命令” 重新启动你的Mac并通过运行这段代码-v来检查,它应该可以工作

适用于macOS 12 Monterey:

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

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

在MacOS BigSur上 单击“终端>>首选项” 将/bin/zsh修改为/bin/bash 关闭并重新打开终端

TO

现在您可以返回到.zshrc文件以恢复您所做的最后一次更改

如果你像我一样,你会有两个终端app,一个是默认终端,以bash作为默认shell,另一个是iTerm 2,以zsh作为shell。要在bash的iTerm 2中同时使用命令和zsh,您需要执行以下操作:

在iTerm 2上,转到首选项(或命令,)。然后转到配置文件选项卡并下到命令。如下图所示,你需要选择命令选项并粘贴zsh shell的路径(要找到路径,你可以做哪个zsh)。

在这一点上,你将有zsh作为你的默认shell仅用于iTerm 2,你将有bash作为默认mac终端应用程序的全局默认shell。接下来,我们仍然缺少zsh中的bash命令。因此,要做到这一点,你需要进入你的bash(你有你的命令工作),并从env获取PATH变量(使用这个命令来做:env | grep PATH)。

完成后,转到iTerm 2将路径粘贴到send text at start 选择。

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin && clear

只要重新打开iTerm 2,我们就搞定了!