【问题标题】:Zsh show fail every time when I open my terminal每次打开终端时 Zsh show 都会失败
【发布时间】:2015-05-30 17:57:42
【问题描述】:

我正在使用装有 OS X Yosemite 和 Zsh 的 Mac。 一不小心,我删除了以下三个文件的内容: .bashrc .bash_profile 。轮廓 之后,当我打开终端时。 Zsh会在上次登录信息下显示失败,这让我很困惑,我想知道为什么。

【问题讨论】:

  • “失败”是什么意思?
  • “失败”是上次登录信息下面的一个字。就像你输入了错误的命令一样。

标签: macos shell zsh oh-my-zsh


【解决方案1】:

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

它有一个为我解决问题的答案:

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

【讨论】:

    【解决方案2】:

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

    我的建议:

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

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

      寻找错误

      所有 shell 输出都到终端,所以你可以重定向它 启动时。当您在寻找错误消息时 初始化,我建议以下程序:

      1. 禁用有问题的配置
      2. 打开终端
      3. 检查SHLVL的值:echo $SHLVL
      4. 重新启用配置
      5. 使用zsh 2> zsh-error.log 从正在运行的shell 中启动一个新的z-shell,这会将stderr 重定向到文件'zsh-error.log'。
      6. 再次检查SHLVL 的值。如果它大于之前的值,则退出当前 shell (exit)。 (以下解释)
      7. 查看当前目录中的“zsh-error.log”。

      如果“zsh-error.log”没有显示任何内容,您可能希望在第 5 步中运行 zsh -x 2> zsh-error.log。这提供了一个完整的调试 zsh 所做的任何事情的输出。这可能会变得非常庞大。

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

    • 最后,您可以在启动时通过运行zsh -o sourcetrace 检索 zsh 来源的所有文件的列表。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2021-12-17
      • 2016-03-01
      • 2023-01-29
      • 2020-06-03
      • 1970-01-01
      • 2014-10-02
      • 2022-09-28
      • 1970-01-01
      • 2015-12-29
      相关资源
      最近更新 更多