Hi, I got confused by output redirection, even though I have used it like a thousand times: cmd1 | cmd2 | cmd3 this pipes cmd1 stdout to cmd2's stdin and finally cmd2's stdout is piped to cmd3's stdin. All cmd[1-3] stderr are displayed (presumably) at the terminal along with cmd3's stdout, right? And when you do cmd1 |[2] cmd2 | cmd3 you get cmd1's stderr piped to cmd2's stdin and cmd2's stdout piped to cmd3 stdin. cmd1's stdout along with cmd2's stderr and cmd3's stdout and stderr go to the terminal. But when you do something like cmd1 | cmd2 |[2] cmd3 you get cmd1's stdout piped to cmd2's stdin; but my confusion begins here: is it cmd1's or cmd2's stderr that gets redirected to cmd3's stdin? maybe both? my guess is that cmd2's stderr is the one who gets piped to cmd3's stdin and cmd1's stderr goes to the terminal. If this is the case, how can I redirect cmd1's stderr to cmd3's stdin instead of cmd2's? or both? It's easy to think of more complex cases. Saludos
-- Hugo