I am on Ubuntu 12.04 and I\'m just learning about environment variables. I am trying to read a custom variable from within my application but it always shows up as undefin
Restart your bash (source ~/.bashrc). This will take into account your system environment.
I found my way here from something really silly.
I had just added the new exported variables, but my node process still wasn't seeing them. Then I realized it wasn't enough to restart the node process—I had to open a new terminal (ie. bash instance) too. Once I did this, it worked fine :)
You need to export
shell variables in order to make them available to processes you execute in your shell.
Compare the output of this command:
FOO=bar; bash -c 'echo $FOO'
with the output of this:
export FOO=bar; bash -c 'echo $FOO'
You might want to consider using a library for managing app configuration.
For example nconf helps manage configuration through
And looking at the source is a nice way to learn https://github.com/flatiron/nconf