当安装MacPorts版本的python时,我刚刚找到了针对Sublime Text 3的subl命令的problem的解决方法。说明说明要在/ bin中的命令行应用程序中放置一个软链接(soft link)ln-s。那没有用,所以我只是打开〜/ .profile并添加了一个别名:
alias subl="/Applications/path/to/subl"
但这对我提出了一个新问题。这两个别名和软链接(soft link)有什么区别?

最佳答案

它们是完全不同的东西,尽管在这种情况下,它们可以用于相似的目的。

这个:

alias subl="/Applications/path/to/subl"

创建一个别名,以便将subl键入为shell命令等效于键入/Applications/path/to/subl

在bash中,函数通常优先于别名,因为它们更加灵活和强大。
subl() { /Applications/path/to/subl ; }

这两件事都是特定于 shell 的;它们使 shell 将sub1扩展为指定的命令。

另一方面,ln -s在文件系统中创建符号链接(symbolic link)。符号链接(symbolic link)是对另一个文件的引用,在大多数情况下,可以将其视为文件本身。它适用于所有访问它的对象,而不仅仅是 shell 程序,它对系统上运行的所有进程都是立即可见的,并且一直存在直到被删除。 (符号链接(symbolic link)被实现为一个小的特殊文件,其中包含目标文件的名称。)

10-07 16:27