Environment variables are loaded by the execution environment when instantiated. So for example if you start two terminals, use one to set an environment variable, then try to read it with the other, it will not be visible.