Skip to content

Instantly share code, notes, and snippets.

@kakarukeys
Last active December 4, 2021 00:50
Show Gist options
  • Save kakarukeys/c513a5af9b125cf60a89aeded79b58ef to your computer and use it in GitHub Desktop.
Save kakarukeys/c513a5af9b125cf60a89aeded79b58ef to your computer and use it in GitHub Desktop.
shell script to enable Poetry .env loading
function poetry() {
dot_env_path=$(pwd)
while [[ "$dot_env_path" != "" && ! -e "$dot_env_path/.env" ]]; do
dot_env_path=${dot_env_path%/*}
done
# if POETRY_DONT_LOAD_ENV is *not* set, then load .env if it exists
if [[ -z "$POETRY_DONT_LOAD_ENV" && -f "$dot_env_path/.env" ]]; then
>&2 echo 'Loading .env environment variables…'
export $(grep -v '^#' "$dot_env_path/.env" | tr -d ' ' | xargs)
command poetry "$@"
if [[ -f "$dot_env_path/.env" ]]; then
unset $(grep -v '^#' "$dot_env_path/.env" | sed -E 's/([^=]*)=.*/\1/' | xargs)
fi
else
command poetry "$@"
fi
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment