There is also process substitution. Which makes a process substitute for a file.
You can send stderr
to a file as follows:
process1 2> file
But you can substitute a process for the file as follows:
process1 2> >(process2)
Here is a concrete example that sends stderr
to both the screen and appends to a logfile
sh myscript 2> >(tee -a errlog)