Emacs在shell中添加(前置)“。:”到PATH

时间:2014-01-02 21:21:01

标签: macos shell emacs path rvm

我注意到我的Emacs(24.3.1)中的shell缓冲区在我的Mac OS X上的$ PATH变量的开头有一个(额外的)“。:”(但是在我的linux笔记本电脑上却没有。文件),与我的常规shell相比,它在中间的某个地方。这只是我,还是Mac上的Emacs是出于某种目的吗?我能预防吗?我认为它没有引起任何实际问题,但确实会引起RVM的警告,理论上它也存在风险。

谢谢!

1 个答案:

答案 0 :(得分:1)

根据emacs命令的shell帮助项,启动的shell将文件~/.emacs_SHELLNAME~/.emacs.d/init_SHELLNAME.sh作为第一个命令列表(如果存在其中一个文件) )。因此,您可以在这两个文件之一中修改PATH环境变量的值,但是您应该检查您的shell(可以使用explicit-shell-file-name变量,ESHELL环境变量或shell-file-name变量(按此顺序)不会忽略启动期间发出的命令。

另一个原因可能是您的(系统范围)配置将当前目录包含在PATH值中(您可以在终端中使用echo $PATH进行检查),因此您必须重新配置shell而不是emacs

考虑到安全性,让PATH中的当前目录确实存在无意中执行错误程序的风险(例如:您有一个名为test的自编程序并且想要执行{{ 1}})。如果在使用超级用户权限时发生这种情况,可能会造成一些严重的麻烦。