Using parentheses here - "Construct Grouping" - see bash reference for details
A similar design uses curly braces:
{ echo "this is a header"; cat -; }
This is another syntax that requires spaces around curly braces and a finite semi-colony.
The difference between using parentheses and parentheses is this: the list of commands in curly braces is executed in your current shell, the list of commands in parentheses is executed in a subshell. This is important if you want the list of commands to change your environment - when you exit a closed shell, environment changes will be lost.
source share