Skip to contents

The file is parsed, and line is expected to have one of the following formats:

VARIABLE=value
VARIABLE2="quoted value"
VARIABLE3='another quoted variable'
# Comment line
export EXPORTED="exported variable"
export EXPORTED2=another

Usage

load_dot_env(fpath = ".env")

Arguments

fpath

The path to the `.env` config file

Value

A named list of environment variables, where names are the variable names and values are the variable values

Details

Load variables defined in the given file, as environment variables.

Detailed specification:

  • A leading export is ignored, to keep the file compatible with Unix shells.

  • No whitespace is allowed right before or after the equal sign, again, to promote compatilibity with Unix shells.

  • No multi-line variables are supported currently. The file is strictly parsed line by line.

  • Unlike for Unix shells, unquoted values are not terminated by whitespace.

  • Comments start with #, without any leading whitespace. You cannot mix variable definitions and comments in the same line.

  • Empty lines (containing whitespace only) are ignored.

It is suggested to keep the file in a form that is parsed the same way with dotenv and bash (or other shells).

Examples

# Load from a file
tmp <- tempfile()

cat("dotenvexamplefoo=bar\n", file = tmp)
load_dot_env(tmp)
#> $dotenvexamplefoo
#> [1] "bar"
#> 

# Clean up
unlink(tmp)