What bash < < syntax mean

bashsyntax

Ruby Version Manager (RVM) installed like so:

bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

I understand what first < mean (feeds bash script to bash interpreter), I'm confused with <(...) part. So, what parentheses do here and the less than sign.
In which cases we can use same syntax?

I tried to dig on the internet, found this SO question https://stackoverflow.com/questions/2188199/bash-double-or-single-bracket-parentheses-curly-braces and this question on ubuntuforums: http://ubuntuforums.org/showthread.php?p=7803008 But still have no idea why we use those parentheses and why we use input redirection twice.

bash < curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer

ain't the same?

Thanks.

Best Answer

It's process substitution. It feeds the output of the command into a FIFO that can be read from like a normal file.

Related Question