bash 스크립트 외부에서 인쇄된 파일에 변수를 전달하는 방법은 무엇입니까?

bash 스크립트 외부에서 인쇄된 파일에 변수를 전달하는 방법은 무엇입니까?

다음을 포함하는 변수 v="c d e f g"와 파일이 있다고 가정해 보겠습니다.

line1
$v
line3

여기 이 문서에서 하는 것처럼 2번째 줄의 변수 내용을 사용하여 이 파일을 인쇄하는 bash 스크립트를 얻으려면 어떻게 해야 합니까?

#!/bin/bash

v="c d e f g"

cat << EOF
line1
$v
line3
EOF

산출:

line1
c d e f g
line3

답변1

envsubst파일을 구문 분석하고 환경 변수( envsubst의 환경에 있음)를 해당 변수로 바꾸는 데 사용됩니다 .

$ v='c d e f g'
$ v=$v envsubst <file
line1
c d e f g
line3

또는 먼저 내보내세요 v.

$ export v
$ envsubst <file
line1
c d e f g
line3

내 시스템에서는 envsubst패키지의 일부로 배포됩니다 gettext.

관련 정보