Curl
了解 Dockerfile 中 curl 命令的變數佔位符
我正在學習 Dockerfile,之前沒有使用過 curl。
我試圖理解這個 Dockerfile中的第 26 行。
&& bash -c 'curl "https://nodejs.org/dist/$(<.node_version.txt)/node-$(<.node_version.txt)-linux-x64.tar.gz" > /home/meteorapp/meteorapp/build/required-node-linux-x64.tar.gz' \
是否
$(<.node_version.txt)
意味著我必須提出一些文本作為它期望的值,或者它按原樣使用,是命令的一部分?
這意味著您需要有一個名為
.node_version.txt
. 在該文件中應該是您想要的節點的版本號。例如:v4.6.0
或latest
。要查看有效的版本字元串,請訪問https://nodejs.org/dist/發生的事情是這個結構
$(<.node_version.txt)
被文件的內容替換了。這條線
https://nodejs.org/dist/$(<.node_version.txt)/node-$(<.node_version.txt)-linux-x64.tar.gz
變成
https://nodejs.org/dist/v4.6.0/node-v4.6.0-linux-x64.tar.gz
該構造是命令替換
$(<filename)
的一種特殊變體。它實際上相當於.$(cat filename)