What setup file does eshell (elisp shell) read when it starts? How eshell sets its PATH?

With emacs/eshell, the "echo $PATH" shows different paths than that of $PATH environment variable.

And I also checked that eshell doesn't read .bashrc or .profile, and I think that's the reason why the path is different.

  • What setup file does eshell read when it starts?
  • How eshell sets its PATH?
  • How to make the eshell's PATH the same as the environment variable's PATH?

ADDED

As Jérôme Radix pointed out, the PATH depends on how I start the Aquamcs.

  • When I click the button to start Aquamacs, it has different PATH.
  • When I run 'aquamacs' from the command line, it has the same PATH.
10
задан prosseek 2 September 2010 в 13:15
поделиться

1 ответ

По определению, echo $PATH показывает значение переменной окружения PATH. Оболочка, работающая внутри Emacs, наследует переменную окружения PATH от запущенного процесса Emacs.

<РЕДАКТИРОВАТЬ> Оболочка, работающая в eshell, не является отдельной программой, как bash, она встроена в Emacs. Его настройка осуществляется через Emacs Lisp.В частности, когда запускается eshell, он запускает функции в eshell-mode-hook и загружает файлы Lisp в eshell-modules-list.

Похоже, вы не указали PATH в правильном файле конфигурации. Подходящим местом будет то, что делается в начале сеанса. Это зависит от операционной системы; если у вас возникли проблемы с этим, спросите у привилегированного пользователя, обязательно сказав, какая у вас операционная система, и, если применимо, укажите оболочку входа в систему, среду рабочего стола и т. д.

1
ответ дан 4 December 2019 в 00:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: