LoginSignup
3
3

More than 5 years have passed since last update.

PowerShellのコンソール起動時に.envを読み込む

Posted at

環境ごとに違う値であったり、Gitなどに入れたくない値などは.envファイルにまとめていたりする。
PowerShellのコンソール画面を起動する時に.envファイルを読み込んで欲しいときがあったので自動化してみた。

Get-ChildItem (Get-Location) |
    Where-Object {-not $_.PsIsContainer -and $_.Name -eq ".env"} |
    Get-Content |
    ForEach-Object {
        $key, $value = $_.split('=', 2);
        Invoke-Expression "`$env:$key='$value'"
    }

やっていることは単純で、
1. カレントディレクトリに.envファイルがあるか探す
2. ファイルを読み込んで1行ずつ処理しだす
3. =$key$valueに分割して環境変数に入れる
ということをやっている。

PowerShellでは環境変数は$env:???になるので、そこが参考URLとの違いになる。

あとはこれを自分のPowerShellプロファイルに書き込めば、コンソール起動時に読み込んでくれる。
PowerShellプロファイルは$profile変数を見ればファイルパスが確認できる。

参考URL
power shell の変数について。 - その他(プログラミング・開発) 解決済み| 【OKWAVE】

3
3
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
3
3