os.Getenv
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:
hugo.
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