このスクリプトを理解できません。 bash <<(curl -s http://xxx.com)

このスクリプトを理解できません。 bash <<(curl -s http://xxx.com)

Railsの本では、著者はRuby rvmをインストールするスクリプトを書いています。

bash <<(curl -s https://rvm.beginrescueend.com/install/rvm)

しかし、私はそれがどのように機能するのか理解していません。説明してもらえますか?

答え1

<<演算子(ここで説明されています)がありますが、ここでは使用されません。

まず、次のパラメータから入力を選択することを意味する入力リダイレクトがあり、次に、コマンドの出力を含むファイル記述子で置き換えるプロセス置換が<あります。<(command)

このコマンドは次のように書くことができます。

bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

しかし、これは複雑な方法です。

curl -s https://rvm.beginrescueend.com/install/rvm | bash

答え2

one <<(two)コマンドを実行しtwo、その出力をにパイプしますone。これを書くより一般的な方法は、two | one次のように書くこともできます。

curl -s https://rvm.beginrescueend.com/install/rvm | bash

今リンクが壊れていますが、ホームページは説明する代わりにこれを使用してください:

curl -L get.rvm.io | bash -s stable

curlダウンロードした内容を出力するので、ファイルをダウンロードしてget.rvm.ioその内容を bash にパイプします。ただコマンドだけを実行してみると、rvmをダウンロードしてインストールするスクリプトでcurlあることがわかります。bash

関連情報