我正在使用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"
如果你像我一样,你会有两个终端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,我们就搞定了!
我通过重新安装和/或在~/的末尾添加来解决我的问题。zshrc中:
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin && clear
在您的终端上运行以下命令之一来安装Oh My Zsh。您可以使用curl或wget通过命令行安装它。
旋度:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
wget:
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"