我试图更好地理解 Linux 上的 SIGPIPE。
我运行了这个实验:{ ls -al /tmp/ ; echo "$?" 1>&2 ; } | head
它回响了141
我所理解的退出代码,该退出代码是给予退出的进程以前SIGPIPE
,我已经做了很多次,但没有理解SIGPIPE
并且我通常运行的细微差别set -eEuo pipefail
,所以,我试图理解为什么我的由于管道损坏,代码并不是一直失败...所以我运行了另一个实验:( set -o pipefail; { ls -al /tmp/ ; echo "$?" 1>&2 ; } | head; )
那一次我在回显中得到了 0...所以当pipefail
启用时,这是否意味着它SIGPIPE
被抑制了?或者我误解了这里发生的事情?