Dockerfile에서 컬 명령의 변수 자리 표시자 이해

Dockerfile에서 컬 명령의 변수 자리 표시자 이해

저는 Dockerfile을 배우고 있는데 이전에는 컬을 사용해 본 적이 없습니다.

26번째 줄을 이해하려고 노력 중이에요이 Dockerfile.

&& 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)예상되는 값으로 일부 텍스트를 제시해야 하거나 명령의 일부로 있는 그대로 사용해야 한다는 의미입니까?

답변1

즉, 이라는 파일이 있어야 합니다 .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).

관련 정보