Macos 如何在Mac OS X上打开Emacs,使其加载我的$PATH?

Macos 如何在Mac OS X上打开Emacs,使其加载我的$PATH?,macos,bash,emacs,applescript,Macos,Bash,Emacs,Applescript,我正在运行Snow Leopard,并尝试在启动它时运行它,(getenv“PATH”)的输出与echo$PATH的Terminal.app中的输出相同 换句话说,我想从/Applications/Emacs.app启动Emacs,并让它以我的$PATH启动。我还没有弄清楚如何在emacs中实现这一点,或者如何启动emacs。因此,我花了大部分精力尝试设计一个shell脚本,我可以用或之类的东西来包装它 所以我现在最接近的是: echo MYPASSWD | sudo -S -u USERNAM

我正在运行Snow Leopard,并尝试在启动它时运行它,
(getenv“PATH”)
的输出与
echo$PATH的
Terminal.app
中的输出相同

换句话说,我想从
/Applications/Emacs.app
启动Emacs,并让它以我的
$PATH
启动。我还没有弄清楚如何在emacs中实现这一点,或者如何启动emacs。因此,我花了大部分精力尝试设计一个shell脚本,我可以用或之类的东西来包装它

所以我现在最接近的是:

echo MYPASSWD | sudo -S -u USERNAME -i nohup /Applications/Emacs.app/Contents/MacOS/Emacs > /dev/null &
它失败了,因为尽管有
-i
标志,nohup似乎丢弃了我的$PATH。以下内容不会丢弃我的
路径
,而是打开一个多余的
终端。app

echo MYPASSWD | sudo -S -u USERNAME -i open /Applications/Emacs.app/Contents/MacOS/Emacs > /dev/null &
我试着在AppleScript中通过
doshell脚本运行这个脚本,但也没有用


我缺少一些基本的东西吗?看起来这并不难。谢谢

您必须将路径导出到.app的位置,这样它就会是这样的

导出路径=$PATH:/PATH/到/程序


这应该允许您只键入EMACS,它就会启动。

GUI应用程序不是由传统的shell启动的,也不会从通常的位置继承环境变量,例如
.profile
.bash\u profile
,等等


解释说,
~/.MacOSX/environment.plist
是您可能想要添加您最喜欢的$PATH等价物的地方。

我不久前写了一点elisp来解析env的输出并将其应用到Emacs环境,因为我不想维护plist。代码位于。

我遇到了同样的问题,下面是我如何解决它的。我创建了~/.bashrc并将其填充为:

source /etc/profile
source ~/.profile