Подтвердить что ты не робот

Как установить переменную среды в оболочке emacs (eshell)?

Кажется, я ничего не могу найти. Много раз я запускаю команды с переменной среды, например:

export BLA=foo && ./somebinary

Как это сделать в eshell? Я думаю, что команда называется set, но я не уверен, как ее использовать, что было бы эквивалентно в eshell?

4b9b3361

Ответ 1

~ $ (setenv "XYZ" "abc")
abc
~ $ ./e.sh
abc
~ $ cat e.sh
echo $XYZ
~ $ (setenv "XYZ" "abc")
abc
~ $ ./e.sh
abc

Ответ 2

Я устанавливаю переменные в моем профиле bash следующим образом:

export WORK_DIR=/Users/me/Documents/some/dir

Затем в .emacs я поставлю это:

(let ((work_dir (shell-command-to-string ". ~/.bash_profile; echo -n $WORK_DIR")))
(setenv "WORK_DIR" work_dir))