os.Getenv
Returns the value of an environment variable, or an empty string if the environment variable is not set.
Syntax
os.Getenv VARIABLE
Returns
string
Alias
getenv
Security
By default, when using the os.Getenv
function Hugo allows access to:
- The
CI
environment variable - Any environment variable beginning with
HUGO_
To access other environment variables, adjust your site configuration. For example, to allow access to the HOME
and USER
environment variables:
security:
funcs:
getenv:
- ^HUGO_
- ^CI$
- ^USER$
- ^HOME$
[security]
[security.funcs]
getenv = ['^HUGO_', '^CI$', '^USER$', '^HOME$']
{
"security": {
"funcs": {
"getenv": [
"^HUGO_",
"^CI$",
"^USER$",
"^HOME$"
]
}
}
}
Read more about Hugo’s security policy.
Examples
{{ getenv "HOME" }} → /home/victor
{{ getenv "USER" }} → victor
You can pass values when building your site:
MY_VAR1=foo MY_VAR2=bar hugo
OR
export MY_VAR1=foo
export MY_VAR2=bar
hugo
And then retrieve the values within a template:
{{ getenv "MY_VAR1" }} → foo
{{ getenv "MY_VAR2" }} → bar