Я обнаружил, что elisp (emacs elisp), по-видимому, не читает .bashrc, поскольку переменная PATH отличается от переменной, установленной в .bashrc, как я и просил здесь. Я попытался загрузить .bashrc, используя 'source .bashrc' в elisp, но когда я это сделал, elisp просто завершил работу.

  • Какие файлы читает elisp при загрузке?
  • Есть ли способ, которым я могу использовать настройки, которые я сделал в .bashrc (псевдоним, PATH, ...)?

РЕШЕНИЕ

Жиль дал мне хороший ответ, и с помощью PATH все зависит от того, как я начинаю Аквамак.

  • Когда я нажимаю кнопку, чтобы запустить Aquamacs, он имеет другой путь.
  • Когда я запускаю 'aquamacs' из командной строки, он имеет тот же PATH.

1 ответ1

2

Псевдонимы - это концепция, специфичная для оболочки, поэтому псевдонимы bash не переносятся на eshell. Eshell имеет свою собственную систему псевдонимов, задокументированную в комментариях в верхней части em-alias.el . В двух словах, вы определяете псевдонимы с помощью команд alias , и они автоматически сохраняются для будущих сеансов. Синтаксис не совпадает с bash , например, вы бы написали alias l='ls -l $*' в eshell, где вы пишете alias ls='ls -l' в bash. Определения псевдонимов находятся в файле ~/.eshell/alias где "~/.eshell" - это значение eshell-directory-name .

Eshell также имеет систему функций оболочки, задокументированную в комментариях в верхней части esh-cmd.el . Цитирую первый абзац:

Всякий раз, когда команда указывается с использованием простого имени, такого как «ls», Eshell сначала ищет функцию Lisp с именем «eshell /ls». Если он существует, он будет вызываться в предпочтении перед любой другой командой, которая могла бы соответствовать имени 'ls' (например, псевдонимы команд, внешние команды, функции Lisp с таким именем и т.д.).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .