I don't think this is a pipe issue.<p>(echo red; echo green 1>&2) | echo blue<p>The string "red" goes into the pipe. The strong "green" goes to stderr, the TTY. The "echo blue" writes to stdout, but does not read from its stdin, the read end of the pipe.<p>Since nothing gets read from the pipe I don't see the claim of indeterminacy as true.<p>The different outputs are all due to process scheduling in the kernel.