sh
Sessão shell interativa :
$ sh
$ timeout 1 yes | sed -n s/a/b/p ; echo $?
Terminated
143
$
Script não interativo via sh -c
:
$ sh -c 'timeout 1 yes | sed -n s/a/b/p ; echo $?'
0
$
Por que esses dois exemplos produzem códigos de saída diferentes?