zsh-如何在无效命令执行时自动重置会话;避免出现“管道破裂”消息

时间:2018-07-04 12:40:44

标签: zsh iterm2 oh-my-zsh

我在iTerm2上使用oh-my-zsh。每次执行无效命令时,zsh都会显示“ Broken Pipe”消息。请查看以下屏幕截图:

zsh-broken-pipe-message

我必须通过按“ command + R”(Macbook)来手动重置会话,以便返回提示并再次开始使用Shell。

我希望zsh / iTerm2在执行无效命令时自动返回提示。

在zsh中可以进行任何设置/配置以实现所需的行为吗?

编辑:我的iTerm配置为使用zsh而不是登录Shell。

1 个答案:

答案 0 :(得分:0)

做完research后,我找到了解决方法。

如果命令中有错误或命令以错误状态退出,我们可以使用zsh的ERROR陷阱重新启动外壳。

我在.zshrc文件中写了以下内容:

TRAPZERR() {
if [[ $? -gt 0 ]];then
     /Applications/iTerm.app/Contents/MacOS/iTerm2 --launch_shell
fi
}

它奏效了!