The <(command) syntax is used to perform process substitution. Read more about this here: http://tldp.org/LDP/abs/html/process-sub.html
This is very useful if you want the output of one command to be passed as a file argument to another command. The <(command) syntax concludes as if it were a file.
For example, we know that perl requires a perl program as an argument.
Now, if the perl program is in the URL, http://pastebin.com/raw.php?i=wdtZYvvr , we know that the output of curl http://pastebin.com/raw.php?i=wdtZYvvr will be the program in this url. Thus, we can provide the output of this command as a perl argument as follows:
perl <(curl http://pastebin.com/raw.php?i=wdtZYvvr)
I often find replacing a process very useful when I want to use the output difference of two commands, not two files. But diff requires two file arguments. So, we deliver two outputs as files in diff, using process substitution.
source share