makefileのファイルから環境変数をエクスポートする

makefileのファイルから環境変数をエクスポートする

.envファイルからすべての変数をエクスポートするmakeアクションを作成しようとしています。これは次のとおりです。

A=1
B=2

端末に入力すると:

set -a
. ./.env
set +a

それは非常にうまく動作します。

ただし、Makefileの同じ操作は機能しません。

export.env:
    set -a
    . ./.env
    set +a


make export.env # done
printenv | grep A # nothing!

make 操作が完了した後も維持するには、これらの変数が必要です。

ベストアンサー1

他のコースと同様に、make 既存のプロセスの環境を変更できません。、起動するプロセスに渡される環境のみを制御できます。入力バッファをいっぱいにしないと、必要なものを達成できません。

また、make各コマンドラインは異なるシェルで処理されるため、set -a. ./.envset +a別々のシェルで実行されます。効果は、. ./.envコマンドが実行されるシェルでのみ表示されます。

おすすめ記事