在Mac上,在environment.plist中定义环境变量将允许您在Emacs.app中使用环境变量。在Linux上,有这样的等价物吗?
我不想在其中一个shell或终端模拟器中使用环境变量,也想在find-file
(Cx Cf),shell-command
(C-!)等中使用环境变量。我有很多路径定义为环境变量,在这里会有所帮助。例如,查找find-file
的文件可以是$ WORK / projectname,依此类推。
我认为最直接的方法是在setenv
中使用.emacs
,但由于我有很多这样的变量,如果我可以在外部文件中定义一次并拥有Emacs会更好读它。
编辑:对不起,请注意。这个问题专门解决了Emacs访问问题,因为在调用shell,eshell或term之前,〜/ .bashrc中定义的变量对Emacs不可用。
答案 0 :(得分:3)
这里有一个脚本,它定义了几个环境变量,由Emacs以批处理模式读取
来自lisp获取$ HOME例如使用(getenv“HOME”)
答案 1 :(得分:2)
为了能够访问.bashrc
中的变量,您需要从bash shell启动emacs。如果您只是点击图标,则无法读取.bashrc
,您将无法访问您的变量。
如果绝对无法从bash shell启动emacs,请找到桌面环境加载的init文件。就我而言,它是.xsession
。我导出的任何变量都可以用于emacs。
要使用getenv
来访问环境变量。
答案 2 :(得分:1)
如果在〜/ .bashrc中定义环境变量,则它们在用户shell中可用于所有命令。 正确的语法是:
export VARIABLE="value"
答案 3 :(得分:1)
您可以在主目录中编辑.bashrc
,您可以在其中添加自己的别名,定义环境变量并为自定义脚本添加路径。