在我的shell中我做了:导出BLA = foo,然后我回显$BLA,我看到foo如预期的那样.然后我加载emacs并做M-!对于一个shell命令并执行echo $BLA并将其设置为其他内容,bar.那么我运行M-x setenv并在提示时给它BLA和foo但是当我做回声时我仍然看到吧.为什么会这样,我怎么能改变它?我正在尝试为我想运行M-x编译的一些环境变量执行此操作
解决方法:
设置值后,setenv将修改emacs启动进程的环境.运行子进程不会受到影响.
因此,做一个(setenv“FOO”“bar”)然后做M-x shell(提供你尚未运行的shell)将生成一个环境变量“FOO”设置为“bar”的shell.