使用屏幕取消设置 PROMPT_COMMAND

使用屏幕取消设置 PROMPT_COMMAND

最近,似乎毫无原因地,我遇到了与该帖子相同的问题:

bash 如何删除“__bp_precmd_invoke_cmd”错误?

但是,只有当我进入screen会话时才会发生这种情况。unset PROMPT_COMMAND在 CLI 上发出命令可使该屏幕会话的问题消失,而不会出现任何问题。

然后我将其添加到我的.screenrc,但问题仍然存在。我还遗漏了什么?

答案1

从:https://www.gnu.org/software/screen/manual/screen.html

将 .添加unsetenv PROMPT_COMMAND到您的 .screenrc 文件。

答案2

错误可能来自https://github.com/rcaloras/bash-preexec它包含在 MacOS 终端仿真器的 shell 集成中https://www.iterm2.com/。上述取消设置 PROMPT_COMMAND 的解决方案有效;更好的解决方案是确定哪个 shell 脚本导致了问题。如果是 iTerm2,只需停止.bash{,_profile}获取 iterm 集成即可。

可能是 iTerm2 shell 集成错误?它应该更好地检查 iterm2 是否是父终端,或者如果它是终端多路复用器(如 tmux 或 screen),则放弃。就我个人而言,我发现 iterm2 集成增加了复杂性和混乱,并没有让我的生活更轻松。

如果不在多路复用器中,并且 iterm2 不是父终端,您可能希望仅获取 iterm2 集成。留给读者或 iTerm2 开发人员练习。

相关内容