Bash 终端卡在进程中([进程已完成])

Bash 终端卡在进程中([进程已完成])

我的 Bash 终端在执行错误命令后卡住了。

即使打开新的 shell 实例 (cmd T) 也会引发相同的挂起,并以[Process completed]消息结束。

它使 bash 终端无法使用(无法键入或运行任何其他进程)。如何终止挂断进程?

注意:^C^D^Z不起作用。

在此输入图像描述

答案1

这是在 macOS 上,对吗?

由于从终端编辑文件很困难(因为 shell 会立即退出),请在文本编辑器中从 Finder打开您之前修改的文件(可能是~/.bashrc~/.bash_profile或),并更正错误。~/.profile

您应该能够通过按⌘ CMD+ ⇧ SHIFT+在任何“打开文件”对话框或 Finder 本身中切换隐藏文件的列表.

另一种选择是简单地重命名您认为导致问题的文件。再次从 Finder 执行此操作。


推测原因:

您可能无意中执行了exit,可能是无条件执行的,或者通过遵循某些逻辑分支执行的。或者您可能已经使用过set -eset -o errexit然后有一个具有非零退出状态(即失败)的实用程序退出。

相关内容