0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Linux】.envファイルを一括で環境変数に反映する方法(set -a / set +a)

Posted at

この記事でわかること

  • .envファイルに書かれた変数をまとめて環境変数に反映する方法
  • set -a / set +a の役割
  • 注意点(export漏れ対策)

背景

アプリの設定値を .env にまとめていたのですが、
反映するときに

export VAR1=value
export VAR2=value
...

と1つずつ書くのが面倒すぎました。
そこで調べたところ、以下の方法がとても便利でした👇


.envを一括で環境変数に読み込むコマンド

``bash
set -a # 以降の source で読み込んだ変数を自動export
source .env.server # ← これで中の変数が一括で環境変数になる
set +a


📌 ポイント  
- `set -a` : **以降に読み込んだ変数を自動で export**
- `source` : ファイルに書いてある変数を **現在のシェルで実行**
- `set +a` : 自動exportを **オフに戻す**

つまり、

envファイルをexportいらずで読み込める🎉


---

## `.env.server` の例

API_KEY=abcde12345
DB_HOST=localhost
DB_USER=test
DB_PASS=secret


これらが一括で環境変数化されます。

---

## ✅ 反映確認

``bash
echo $API_KEY
echo $DB_HOST

値が表示されればOKです ✅


ちなみに:.env の中に export は不要

よく .env にこう書いてしまいがち👇

export API_KEY=abcde

source だけならありですが、
今回の方法では 不要です。

🌟 .env の中は KEY=value 形式だけでOK!


注意点(大事)

  • 現在のシェルにのみ有効(再起動したら消える)
  • 引用符・スペースがある値は "..." 推奨
  • source信頼できるファイルに対してのみ実行してください

まとめ(これだけ!)

操作 コマンド
自動exportオン set -a
env一括読み込み source .env.server
自動exportオフ set +a

.envを一括反映させたいとき、ぜひ使ってください!🙌

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?