Makefileのpostfixテンプレートの変数を変更したいと思います。
.PHONY: replace clean
export DOMAIN ?= home.lan
replace:
@echo $(DOMAIN)
envsubst < template > main.cf
cat out.test
私のテンプレートファイルは次のとおりです。
...snip..
$myorigin = ${DOMAIN}
$mydomain = $myorigin
makeを実行すると、$ {DOMAIN}変数を置き換え、$ mydomain変数と$ myoriginキーも置き換える次の出力が表示されます。
= home.lan
=
以前は、シェルスクリプトを使用して次のことを行いました。
VARS='$API_URL'
envsubst "$VARS" < /etc/nginx/template > /etc/nginx/sites-enabled/default
そして$ API_URLはenv 1に正しく置き換えられます。これを行うには、Makefileをどのように使用しますか?
答え1
"$${DOMAIN}"を使用
.PHONY: replace
export DOMAIN ?= home.lan
replace:
envsubst '$${DOMAIN}' < template
ランニング:
make replace
出力:
envsubst '${DOMAIN}' < template
...snip..
$myorigin = home.lan
$mydomain = $myorigin