サブシェルは "$ @"の結果を取得しないので、置換を行うことはありません。ターゲット置換を行う
%_bust.css: %.css
@echo $(echo [email protected] | sed s/_bust/$(BUSTER)/g)
サブシェルは "$ @"の結果を取得しないので、置換を行うことはありません。ターゲット置換を行う
%_bust.css: %.css
@echo $(echo [email protected] | sed s/_bust/$(BUSTER)/g)
$()
を ``に置き換えます。前者はGNU make変数の拡張です。
make
のテキスト置換メカニズムを使用することもできます。
@echo $*$(BUSTER).css
@echo $(subst _bust,$(BUSTER),[email protected])
後者はGNU Makeに固有であり、この特定のケースではあまり正確ではなくエレガントです。
あなたはそれを不必要に複雑にしました。ネストされたecho
は必要ありません。
%_bust.css: %.css
@echo [email protected] | sed s/_bust/$(BUSTER)/g
また、シェルに公開したいドル記号 – tripleee