${name:-default} is the POSIX form that uses the default when name is unset or empty. An empty value is returned as itself.
dotenv.dotenv_values(stream=io.StringIO("b=\na=${b:-d}"))
# {'b': '', 'a': ''}
a should be d. A missing b already becomes d. b=c still stays c. ${b} with no default stays empty.
${name:-default}is the POSIX form that uses the default whennameis unset or empty. An empty value is returned as itself.ashould bed. A missingbalready becomesd.b=cstill staysc.${b}with no default stays empty.