HUGO
News Docs Themes Community GitHub

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