如何在emacs shell(eshell)中设置环境变量?

时间:2013-02-05 21:09:11

标签: emacs environment-variables eshell

我似乎无法在任何地方找到它。很多时候我使用环境变量设置命令:

export BLA=foo && ./somebinary

我如何在eshell中执行此操作?我认为该命令被称为set,但我不确定如何使用它,eshell中的上述等价物是什么?

2 个答案:

答案 0 :(得分:18)

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

答案 1 :(得分: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))