os.Getenv

os.Getenv


Returns the value of an environment variable, or an empty string if the environment variable is not set.

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