最近我安装了Zshell而不是Bash。在此期间,我看到我的$PATH
长7英里,所以我决定尝试清理一下。当我卸载rvm
时(通过运行rvm implode
后跟rm -rf ~/.rvm
),当我重新启动终端时,我现在看到一个错误:
如果我只按ENTER
,则错误仍然存在。但是,如果我执行任何其他命令,它就会消失(ls
,echo
,source ~/.zshrc
- 您可以命名它。
如果我重新启动iTerm
(或启动新标签页),则会重新显示错误。
错误未显示, - 所以如果我激活另一个主题,那么我无法看到是否有错误。
我的直觉告诉我,这与我的道路有关,但我不确定。我的路径比安装RVM
之前的路径短。
如果我重命名我的~/.zshrc
- 文件,则Powerline9k
- 主题会停用,因此我无法查看错误是否仍然显示。但我已经尝试过了......然后一个没有主题的zshell就开始了。
知道如何解决它或如何调试它?
修改的
我刚刚意识到它实际上可能是一个遗留错误,从我运行bash时回来, - 所以我也加了那个标签。
答案 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
个功能,但由于zsh
是bash
的功能超集,因此它们也在zsh
中工作。
答案 2 :(得分:0)
卸载使用该路径的所有应用并重新安装。这是唯一的方法。您可以使用应该创建具有垃圾桶的别名而不是rm。