linux - 终端中以非零代码退出的任何命令都会关闭我的终端窗口

标签 linux bash macos

终端中以非零代码退出的任何命令都会关闭我的终端窗口。有人告诉我,也许我在终端源的某个 bash 脚本中设置了 set -e

我已经检查了 .bash_profile/.bashrc/.profile ,它看起来不像 set -e 在那里。

还有其他明显的罪魁祸首吗?

这里是the output bash -lx

我想阻止我的终端窗口在每次命令失败时关闭(以非零代码退出)。

看起来像my problem is here .

最佳答案

好吧,确实是一个任性的 set -e 给我带来了麻烦。

我发现set -e的方式是使用bash -lx...

最好的办法是使用:

bash -lx > lx.log 2>&1

然后打开该日志文件并搜索set...

一旦您发现任性的set -e,您就可以删除该行,您的问题就会消失!

就我而言,set -e 位于 .bash_profile 源文件中,但该行不在 .bash_profile 本身中。

关于linux - 终端中以非零代码退出的任何命令都会关闭我的终端窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47521299/

相关文章:

linux - 如何获取自上次使用 bash 修改文件以来的时间(以秒为单位)?

linux - 如何使用完整路径或文件名显示 'grep' 结果

c -/usr/bin/ld : cannnot find <library>

c - 为什么我们在实现对齐 malloc 时使用位运算符 & 和 ~ 而不是数学运算符 %?

linux - docker中安装Alpine的启动命令是什么?

bash - 如何使用 sed bash 删除特定模式

linux - 在离线机器上的 CentOS 7 上安装 redhat-lsb

python - 如何使用 Python 脚本中的 Cocoa API 在 macOS 中最小化/最大化窗口?

macos - macOS 上的多个 AVCaptureSession。正确的做法是什么?

cocoa - 旧窗口关闭后新窗口的位置