bash -

2016-11-12 1 views
4

このコードの最初の行の最後にある| bash -はDockerfileで正確に何をしますか?
なぜ最後に-が表示されるのですか?bash -

RUN curl --silent --location https://rpm.nodesource.com/setup_4.x | bash - 
RUN yum install -y tar nodejs 

答えて

4

| bashbashコマンドへの入力として、パイプにcurlコマンド、即ちダウンロードbashスクリプトからの出力を意味します。 -は、bashがファイルからではなくstdinからスクリプトを読み込むようにします。

つまり、コマンドはスクリプトをダウンロードしてbashで実行します。

+0

'-'は冗長ですが、' bash'はすでに位置指定引数がないと標準入力から読み込んでいるためです。 – chepner