.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
行. ./.env
はset +a
別々のシェルで実行されます。効果は、. ./.env
コマンドが実行されるシェルでのみ表示されます。