O que a sintaxe bash significa?

9

Ruby Version Manager (RVM) instalado da seguinte forma:

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

Eu entendo o que primeiro < mean (alimenta o script bash para bash interpreter), estou confuso com <(...) part. Então, que parênteses fazem aqui e menos que assinar. Em quais casos podemos usar a mesma sintaxe?

Eu tentei pesquisar na internet, encontrei essa pergunta link e esta pergunta em ubuntuforums: link Mas ainda não sabemos por que usamos esses parênteses e por que use o redirecionamento de entrada duas vezes.

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

não é o mesmo?

Obrigado.

    
por Nemoden 26.03.2012 / 07:41

2 respostas

7

substituição de processos . Alimenta a saída do comando em um FIFO que pode ser lido como um arquivo normal.

    
por 26.03.2012 / 07:45
5

Significa "executar o comando dentro dos colchetes e retornar um nome de arquivo que represente a saída padrão desse comando aqui".

Então, isso se traduz em dois comandos:

curl ... > something
bash -s stable < something

... onde "algo" é a mágica. (Normalmente, /dev/fd/... ou um pipe.)

    
por 26.03.2012 / 07:44

Tags