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

当前回答

正如其他人所说,在您做了更改之后,简单地重新启动终端应该重置您对~/所做的更改。zshrc中。例如,在添加功能后打开visual studio:

function code {  
    if [[ $# = 0 ]]
    then
        open -a "Visual Studio Code"
    else
        local argPath="$1"
        [[ $1 = /* ]] && argPath="$1" || argPath="$PWD/${1#./}"
        open -a "Visual Studio Code" "$argPath"
    fi
}

我能够使用关键字code从命令行打开程序。

其他回答

正如其他人所说,在您做了更改之后,简单地重新启动终端应该重置您对~/所做的更改。zshrc中。例如,在添加功能后打开visual studio:

function code {  
    if [[ $# = 0 ]]
    then
        open -a "Visual Studio Code"
    else
        local argPath="$1"
        [[ $1 = /* ]] && argPath="$1" || argPath="$PWD/${1#./}"
        open -a "Visual Studio Code" "$argPath"
    fi
}

我能够使用关键字code从命令行打开程序。

对我来说,重启我的终端似乎就能解决这个问题。

使用一个好的文本编辑器,比如VS Code,打开你的.zshrc文件(应该在你的主目录下。如果你没有看到它,一定要在打开文件夹时右键单击并选择选项“显示隐藏文件”)。 export PATH=a-bunch-of-paths-separated-by-冒号: 将它插入到行末,在结束引号::$HOME/.local/bin之前

它应该对你有用。

你可以先在你的终端中输入export PATH=$HOME/.local/bin:$PATH来测试它是否可以工作

如果在您将此输入到终端后错误消失,并且您的终端功能正常,则上述解决方案将工作。如果它没有,你将不得不找到你的引用错误所在的文件夹(没有找到的东西),并用PATH- to - that - folder替换上面的PATH。

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

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

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

OR

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

可以在/usr/local/bin/目录下创建符号链接

sudo ln -s $HOME/.composer/vendor/bin/homestead /usr/local/bin/homestead