From Bash Reference Manual
A pipeline is a sequence of simple commands separated by one of the control operators
From POSIX 2013
A pipeline is a sequence of one or more commands separated by the control operator
I know that Bash has many extensions to POSIX shells, e.g.
But are the component commands of a pipeline
- simple commands or
- just any commands (simple, pipeline again, list, compound, and function)?
In Bash, the following works
$ for f in $(ls *); do echo $f; done | cat
but the first component command of the pipeline isn't simple but compound.