Zshell以错误开头(在Powerline9k-theme中显示)

时间:2017-08-04 18:56:11

标签: bash zsh oh-my-zsh powerline

最近我安装了Zshell而不是Bash。在此期间,我看到我的$PATH长7英里,所以我决定尝试清理一下。当我卸载rvm时(通过运行rvm implode后跟rm -rf ~/.rvm),当我重新启动终端时,我现在看到一个错误:

zshell powerline9k error

如果我只按ENTER,则错误仍然存​​在。但是,如果我执行任何其他命令,它就会消失(lsechosource ~/.zshrc - 您可以命名它。

zshell powerline9k error-2

如果我重新启动iTerm(或启动新标签页),则会重新显示错误。

错误未显示, - 所以如果我激活另一个主题,那么我无法看到是否有错误。

我的直觉告诉我,这与我的道路有关,但我不确定。我的路径比安装RVM之前的路径短。

如果我重命名我的~/.zshrc - 文件,则Powerline9k - 主题会停用,因此我无法查看错误是否仍然显示。但我已经尝试过了......然后一个没有主题的zshell就开始了。

知道如何解决它或如何调试它?

修改

我刚刚意识到它实际上可能是一个遗留错误,从我运行bash时回来, - 所以我也加了那个标签。

3 个答案:

答案 0 :(得分:2)

在github上查看他们的文档,相关片段是docs

解决方案:

在名为~/.zshrc的{​​{1}}查找变量中删除POWERLEVEL9K_LEFT_PROMPT_ELEMENTS

说明:

rbenv的默认值为POWERLEVEL9K_LEFT_PROMPT_ELEMENTS(context dir rbenv vcs)可能是产生错误的细分受众群 - 在您卸载rbenv该细分受众群后可能会出现这种情况。执行。

答案 1 :(得分:2)

如果您在执行任何命令后立即消失视觉瑕疵,只需在echo -n的末尾放置.zshrc作为快速简便的修复,如果您不在调试任务并可能在您的机器上造成更多问题。

这个问题不值得你花时间;)

编辑:显然上述情况并不奏效。见评论。

如果你对调试感兴趣,一个很好的起点是放置set -xe(打印正在执行的每一行并在任何退出非零的行上中止)(在shebang行之后,或者as启动新的交互式shell时执行的每个配置脚本的shebang中的标志。

另外考虑set -xeuo pipefail另外捕获和中止使用未设置的shell变量和返回非零内部管道的命令(例如set -e将不会在false | true上中止,因为整个行已退出状态0,但-o pipefail将在此行中止)。值得注意的是,这些标记是bash个功能,但由于zshbash的功能超集,因此它们也在zsh中工作。

答案 2 :(得分:0)

卸载使用该路径的所有应用并重新安装。这是唯一的方法。您可以使用应该创建具有垃圾桶的别名而不是rm。