每次打开终端时,Zsh都会失败

时间:2015-03-26 15:56:35

标签: macos shell zsh oh-my-zsh

我正在使用Mac OS X Yosemite和Zsh。 不小心,我删除了以下三个文件的内容: 的.bashrc .bash_profile中 。轮廓 之后,当我打开终端时。 Zsh会在最后的登录信息下显示失败,它让我困惑,我想知道原因。

2 个答案:

答案 0 :(得分:2)

Zsh(默认情况下)不会从.bashrc.bash_profile.profile读取,因此这些文件的内容无关紧要。您还没有提及删除了哪些 .bashrc.bash_profile.profile ...这些文件存在于/Users/username目录和{{ 1}}。 zsh在启动时获取的文件列在“STARTUP / SHUTDOWN FILES”下的OS X zsh man page(终端中的/etc)中。它会调用前面提到的文件之一的唯一原因是它们是否在其中一个默认文件中明确man zsh d。

我的建议:

  • 检查source的内容(这是我/etc/zshenv目录中唯一的zsh特定文件)。我只有以下几点:

    etc
  • 您可以使用zsh登录吗?如果没有,你可以使用另一个shell登录吗?您可以在OS X Terminal.app中执行此操作,方法是转到首选项 - >一般并将“Shells open with:”选项从“Default login shell”更改为Command(填写另一个shell,即, # system-wide environment settings for zsh(1) if [ -x /usr/libexec/path_helper ]; then eval `/usr/libexec/path_helper -s` fi /bin/bash)。如果您可以使用任何shell登录,请尝试this question中的以下解决方案:

      

    寻找错误

         

    所有shell输出都会转到终端,因此您可以重定向它   什么时候开始。因为您正在寻找错误消息   初始化,我建议采用以下程序:

         
        
    1. 禁用有问题的配置
    2.   
    3. 打开终端
    4.   
    5. 检查/bin/shSHLVL
    6. 的值   
    7. 重新启用配置
    8.   
    9. 使用echo $SHLVL从正在运行的shell中启动新的z-shell,将 stderr 重定向到文件'zsh-error.log'。
    10.   
    11. 再次检查zsh 2> zsh-error.log的值。如果它比之前的值大,则退出当前shell(SHLVL)。 (以下说明)
    12.   
    13. 查看当前目录中的“zsh-error.log”。
    14.         

      如果'zsh-error.log'没有显示任何内容,您可能希望在步骤5中运行exit。这提供了完整的调试   任何zsh的输出都有。这可能会变得非常庞大。

    如答案所示,如果您在启动时采购man文件,那些日志可能会变得非常庞大。只是一个裸shell应该会产生一个相当小的日志文件。

  • 最后,您可以通过运行zsh -x 2> zsh-error.log来检索zsh在启动时获取的所有文件的列表。

希望这会有所帮助。

答案 1 :(得分:0)

您可能想看看一个重复的问题:Zshell starts up with exit status of 1 after uninstalling RVM

有一个答案为我解决了这个问题:

  

我在系统上找到一个.zlogin文件,其中包含一些与rvm相关的代码。我已经删除了代码,问题就解决了!