Вопросы к Поиску с Алисой
Переменные оболочки и окружения в Bash отличаются тем, где и для чего они используются. dzen.ru tokmakov.msk.ru
Переменные окружения определяются для текущей оболочки и наследуются любыми дочерними оболочками или процессами. wiki.merionet.ru tokmakov.msk.ru Такие переменные используются для передачи информации процессам, запущенным из оболочки. tokmakov.msk.ru Например, к ним относятся SHELL (оболочка, в которой выполняется интерпретация команд пользователя), USER (текущий пользователь системы) и другие. dzen.ru
Переменные оболочки, в свою очередь, содержатся исключительно в оболочке, внутри которой они определены. dzen.ru Такие переменные используются для отслеживания кратковременных данных, например, текущего рабочего каталога. dzen.ru К переменным оболочки относятся BASHOPTS (список опций, которые используются при исполнении оболочки bash), BASH_VERSION (версия оболочки bash) и другие. dzen.ru
Таким образом, главное отличие в том, что переменные окружения доступны не только в текущей оболочке, но и в дочерних процессах, а переменные оболочки существуют только в контексте текущей сессии и не видны в дочерних процессах. github.com