# allows you to have empty lines for better readability
eval $(cat .env | sed 's/^/export /')
# Here is another sed solution, which does not run eval or require ruby:
source <(sed -E -n 's/[^#]+/export &/ p' ~/.env)
# .env contents
A=1
#B=2
# sample run
$ sed -E -n 's/[^#]+/export &/ p' ~/.env
export A=1
#export B=2