Каждый процесс в системе получает набор переменных окружения от своего предка.
Исходные значения, которые получают процессы стартующие сразу после загрузки ОС задаются в свойствах системы, если речь про windows, или файле конфигурации, если мы говорим о unix like системе.
Кроме общесистемных настроек переменных окружения, есть еще пользовательские переменные, которые в windows настраиваются рядом с системными переменными, а в unix есть варианты, но скорее всего это будет .bashrc в домашнем каталоге пользователя, если говорить о linux и его bash shell. Пользовательские настройки читаются процессом, выполняющим авторизацию пользователя, перед тем, как запустить его командную оболочку. Когда пользователь наконец получает возможность начать работать с компом, он получает объединенный набор переменных окружения.
Все процессы, которые порождает пользователь, получают его версию переменных окружения. Если процесс программно изменяет любое значение, то это действует только для этого процесса, и всех процессов, которые он породит после.
А теперь ответ на ваш вопрос. :) Если вы изменяли настройки только в памяти, то и действовали они, пока был жив процесс, для которого вы это делали. Завершили процесс непосредственно, или вышли из системы и вошли вновь - начинайте заново.