Table of Contents

About

Shell commands are executed in parallel in pipelines if no stdin is connected between them.

Why ? Because each command in a pipeline is executed as a separate process (i.e., in its own subshell).

Proof

Without stdin, in parallel

sleep 3 | echo "Hello world."

With Stdin, they will not be executed in parallel

sleep 3 | echo "Hello World $(</dev/stdin)"

Documentation / Reference