Skip to main content

Set Environment Variables in Your Bash Shell From a .env File (Version 2)

Published: 2021-01-14

This post is version 2 of Set Environment Variables in Your Bash Shell From a Env File.

The advantage is it supports quoted values that contain spaces.

# .env file

# Some comment
FULL_NAME="First Middle Last"
FOO=bar

# setenv.sh script

#!/usr/bin/env bash

# Show env vars
grep -v '^#' .env

# Export env vars
set -o allexport
source .env
set +o allexport

# Usage

  1. Unset env vars

     unset FULL_NAME; unset FOO;
    
  2. Set env vars in your Bash shell

     source setenv.sh;
    
  3. Confirm env vars

     echo ${FULL_NAME}; echo ${FOO};