![被调用的应用程序退出时正在关闭终端会话](https://linux22.com/image/181127/%E8%A2%AB%E8%B0%83%E7%94%A8%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E9%80%80%E5%87%BA%E6%97%B6%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%E7%BB%88%E7%AB%AF%E4%BC%9A%E8%AF%9D.png)
我有一个 GO 应用程序,它在某些时候os.Exit(1)
由于发生错误而执行,问题是它也会关闭我的终端,而不仅仅是终止应用程序。
我这样调用应用程序
application --param1 1
如何防止应用程序不会关闭我的终端以及如何从中获取退出状态?
答案1
您可能已经设置了errexit
每当命令返回非零退出状态时 shell 就会退出。您可以使用set +e
命令禁用此行为。您可以做的另一件事是or
使用true
命令创建 bash。调用将如下所示:
application --param1 1 || true