Process substitution is supported on systems that support named pipes (fifos) or the /dev/fd method of naming open files. It takes the form of
The process list is run with its input or output connected to a
fifo or some file in /dev/fd. The name of this file is
passed as an argument to the current command as the result of the
expansion. If the
) form is used, writing to
the file will provide input for list. If the
) form is used, the file passed as an
argument should be read to obtain the output of list.
Note that no space may appear between the
and the left parenthesis, otherwise the construct would be interpreted
as a redirection.
When available, process substitution is performed simultaneously with parameter and variable expansion, command substitution, and arithmetic expansion.