dotenvとホストマシンで環境変数が競合する時のための起動スクリプト
結構ホストマシンの環境変数が勝って、
どこで設定されているのかわからない時があるため作成。
実際に運用するとなると、環境変数を消してもshell上に残っていると消えないので、
仕組みの理解ができていないと、考えることが増える可能性はありそう。
#!/bin/bash
# .env ファイルのパスを指定
dotenv_path="./.env.development"
# .env ファイルが存在するか確認
if [ ! -f "$dotenv_path" ]; then
echo ".env file not found"
exit 1
fi
# .env ファイルから環境変数を読み込み、エクスポートする
echo "=============================="
while IFS='=' read -r key value
do
# 空行またはコメント行をスキップ
[[ "$key" =~ ^#.*$ ]] || [[ -z "$key" ]] && continue
# 環境変数をエクスポート
export "$key=$value"
echo "export $key=$value"
done < "$dotenv_path"
echo "Environment variables are set."
echo "=============================="
# アプリケーションの起動コマンド
bin/rails server