当安装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)被实现为一个小的特殊文件,其中包含目标文件的名称。)