Окружение передается не через файл, а через стек вновь созданных процессов, и метод достижения этого заключается в передаче окружения в системный вызов exec()
.
env
является внешней командой (в отличие от встроенных команд оболочки), и по этой причине env
печатает только переменные, которые экспортируются
из оболочки.
set
, с другой стороны, перечисляет все переменные оболочки. Некоторые из них экспортируются.
export
перечисляет переменные оболочки, которые экспортируются оболочкой.
BTW:
.bashrc
запускается не оболочками входа в систему, а каждой интерактивной (bash) оболочкой. Другие оболочки имеют другие названия для этой функции. ksh
использует .kshrc
, а Bourne Shell использует .shrc
.
.profile
запускается оболочками входа в систему. Этот файл является общим для всех Bourne Shell совместимых шеллов.
Никакой --список уничтожений никогда не очищается библиотекой readline (, используемой bash ), поэтому для этого нет привязываемой команды.