

Using the Unix Chainsaw: Named Pipes and Process Substitution - jlkinsel
http://vincebuffalo.org/2013/08/08/the-mighty-named-pipe.html

======
turnersd
Awesome - I never new about process substitution. I wanted to convince myself
I knew what it was doing, so I started kicking this around a bit. I expected
the first command to output "test." I'm not sure I can explain these results:

    
    
      $ echo <(echo test)
      /dev/fd/63 
      $ cat <(echo test) 
      test

~~~
vsbuffalo
<(blah) runs the command blah, and pipes its standard output to a file
descriptor (/dev/fd/63) above. You shell replaces the <(blah) with a path to
the this file descriptor, so here, echo is just printing the file descriptor
name.

Since echo test prints "test" to standard out, in your second example this is
piped to the file descriptor, which cat then reads from (printing "test").

