![当它的子进程收到信号时,unbuffer/expect 会吞下 rcode](https://linux22.com/image/54799/%E5%BD%93%E5%AE%83%E7%9A%84%E5%AD%90%E8%BF%9B%E7%A8%8B%E6%94%B6%E5%88%B0%E4%BF%A1%E5%8F%B7%E6%97%B6%EF%BC%8Cunbuffer%2Fexpect%20%E4%BC%9A%E5%90%9E%E4%B8%8B%20rcode.png)
unbuffer
在正常情况下能够传递进程的返回码,但是如果您正在取消缓冲的进程被终止,例如出现段错误,我会看到$?
as 0
while I Expect 139
。我怎样才能让它通过139
?
例如,如果我的unbuffer
bash 脚本只有简单的exit 1
,我会得到$?
as 1
。如果我取消缓冲具有 的 bash 脚本kill -11 $$
,我会得到0
。
unbuffer
实际上只是expect
附带的一个脚本expect
,但我不太了解它,无法解释为什么不传递返回代码。