I piped one echo command into the other  echo a b c d e f g h i | echo  echo $?0Contrary to my intuition, there was no output, however there was also no error returned. I expected, that echo a b c d | echo  is only an unnecessary redundant alternative to echo a b c d .But it is not the case, Why were the arguments lost on their way through the pipe?
Why does echo a b c d e | echo display no result?
command line;pipe;echo
This is due to echo not reading from standard input.  Pipes are only useful for sending the standard output from one command to the standard input of the next command.Since the output ef echo a b c ... is not consumed by the second echo, it is lost and there is no output from the pipe, except for the single newline from the second echo.Since the last echo successfully outputs a blank line, the exit status is zero.