Моя цель
Я пытаюсь добавить "/ opt / bin" в список путей, которые eshell использует для поиска скриптов.До сих пор я пытался сделать это тремя способами
Пока предпринимаются попытки
1) (setenv "PATH" (concat "/ opt / bin:" (getenv "PATH")))
2) (eshell / addpath "/ opt / bin:")
3) (добавление в список 'exec-path "/ opt / bin")
Первая попытка действительно добавляет" / opt / bin "к пути eshell (он отображается как первый экземпляр" / opt / bin: "в выводе вызова" which lein "ниже)
Вторая попытка также добавляет "/ opt / bin" к пути eshell (он отображается как второй экземпляр "/ opt / bin:" в выводе вызова "which lein" ниже)
У меня на самом деле некоторое время был добавлен "/ opt / bin" к моему exec-path.Я полагаю, что я сделал это так, чтобы / opt / bin находился на моем пути при запуске команды term для запуска оболочки, это, кажется, работает нормально, но не помогает eshell находить там команды.
Неудачные попытки и временный обходной путь
В приведенном ниже выводе eshell видно, что даже при наличии команды lein по пути eshell распознает, что eshell не находит команду.Однако, если я создаю символическую ссылку из каталога, который находится в пути по умолчанию eshells, к сценарию в / opt / bin, eshell сможет найти его.
Вывод Eshell
~ $ which lein
which: no lein in (/opt/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/sbin:/usr/sbin:/sbin:/opt/bin:)
~ $ l /opt/bin/ | grep lein
-rwxr-xr-x 1 kevin kevin 12538 2019-01-17 07:32 lein
~ $ sudo ln -s /opt/bin/lein /usr/local/bin/lein
[sudo] password for kevin:
~ $
~ $ which lein
/usr/local/bin/lein
Я бы предпочел не создавать символические ссылки в / usr / local / bin / только для того, чтобы eshell мог находить скрипты в моем / opt / bin.Обратите внимание, что даже после перезапуска emacs он находит символическую ссылку, а не скрипт в / opt / bin.Это происходит в экземпляре графического интерфейса пользователя emacs-25 в linux mint debian (v9.3) edition.
Вопрос:
Как получить eshell для фактической проверкипуть eshell вместо какого-то списка каталогов по умолчанию?Должен ли я обновлять другую переменную пути?