为什么这样做会有效——让操作系统指向 Emacs GUI 应用程序而不是默认应用程序?

为什么这样做会有效——让操作系统指向 Emacs GUI 应用程序而不是默认应用程序?

我在 OS X 上预装了 emacs,可以在 中找到/usr/bin/emacs。它不允许我将其作为 bg 进程运行(使用 &),也没有提供良好的 GUI。

因此,我安装了 emacs 的 GUI 包,它安装在/Applications/Emacs.app/Contents/MacOS- 可执行文件名称是Emacs

我希望我的 OS X 始终指向/Applications/Emacs.app/Contents/MacOS/Emacs而不是/usr/bin/emacs。我更新了我的.profile,并将图形 Emacs 的路径添加到 PATH。

现在如果我运行which emacs,结果将是:

/Applications/Emacs.app/Contents/MacOS/emacs
  1. 为什么这样做有效?为什么现在使用 Emacs GUI 应用程序而不是预装的应用程序?
  2. 为什么系统以小写形式打印“emacs”,而实际应用程序名称却以大写形式开头?

答案1

  1. 来自PATH 的维基百科页面

    当用户指定命令名称或从程序进行 exec 调用时,系统将搜索路径,检查列表中从左到右的每个目录,查找与命令名称匹配的文件名。一旦找到,该程序将作为命令 shell 或发出命令的程序的子进程执行。

  2. 默认的 Mac OSX 文件系统是默认不区分大小写/Applications/Emacs.app/Contents/MacOS/Emacs。也就是说,和之间没有区别/Applications/Emacs.app/Contents/MacOS/emacs

相关内容