How do I view my environment variables?

Printing the Environment from the Shell

As other answers have pointed out, one can use /usr/bin/env or /usr/bin/printenv from the command line to see what the environment is in the shell before starting Rails, or in a subshell after starting it. For example:

  1. rails s RETURN
  2. CTRL-Z
  3. env RETURN
  4. fg RETURN

Displaying ENV from the View Layer

In Ruby, ENV is a “hash-like” accessor for environment variables; it is not actually a Hash. You can introspect ENV from your Rails console easily enough simply by typing ENV or ENV['foo'], but sometimes you may want to see what Rails thinks the environment is during rendering. In that case, you want the Rails debug helper. For example:

# ERB
<%= debug ENV.to_h.to_yaml %>

# HAML
= debug ENV.to_h.to_yaml

Calling #to_yaml to serialize the ENV object will make the output easier to read, but requires you to convert ENV to a hash or array first. You can also just invoke debug ENV without chaining; it’s just harder on the eyes.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)