Я всегда считал, что переменные окружения живут в пределах текущего пользователя. Однако недавно я начал работать над собственной оболочкой и узнал больше о том, как Linux работает под капотом. Теперь мне кажется, что среда не зависит от оболочки и обрабатывается в другом месте (в ядре?). Итак, мой вопрос в том, как именно он работает? Какая часть системы отвечает за сохранение окружающей среды?Где живет среда Linux?
Также, например, Bash проводит различие между значениями export
и невыложенными переменными, последние из которых не наследуются подоболочкой. Означает ли это, что каждый процесс - это система, которая имеет собственный набор переменных оболочки?
Каждого _process_ в системе имеет свою собственную среду, снаряды только сами процессы. Наследование среды заботится о ядре при разветвлении процесса, поскольку среда является частью процесса. И каждый процесс может изменить свою собственную среду, но он хочет. – arkascha