Seu entendimento não está correto. Em a | b
, a saída stdout do processo a
conectado por meio de um pipe a stdin do processo b
. O problema com o seu código é que, com um redirecionamento adicional de somefile
para processar b
, você usará dois métodos diferentes ao mesmo tempo para se conectar ao stdin do processo b
. Não faça isso! A questão é; o que você tenta alcançar (com tal constructo) em primeiro lugar?