По определению, echo $PATH
показывает значение переменной окружения PATH
. Оболочка, работающая внутри Emacs, наследует переменную окружения PATH
от запущенного процесса Emacs.
Оболочка, запущенная в eshell
, не является отдельной программой, такой как bash, она встроена в Emacs. Его настройка осуществляется через Emacs Lisp. В частности, когда запускается eshell, он запускает функции в eshell-mode-hook
и загружает файлы Lisp в eshell-modules-list
.
Похоже, вы не устанавливаете PATH
в правильном файле конфигурации. Правильное место будет чем-то, что будет сделано в начале вашей сессии. Это зависит от операционной системы; если у вас возникли проблемы, спросите Суперпользователь , обязательно указав, какая у вас операционная система, и, если применимо, укажите вашу оболочку входа в систему, среду рабочего стола и т. п.