在 Mac OS X 和 Sublime Text 2 中的终端之间创建符号链接时遇到问题,因此可以从命令行启动

Rya*_*ham 0 terminal bash symbolic-link sublime-text-2 macos

我正在使用 Mac OS X Yosemite,我希望能够使用如下命令从终端打开 Sublime Text 2:

sublime .
Run Code Online (Sandbox Code Playgroud)

我已将其输入终端,如 Sublime Text 2 网站所示:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/sublime
Run Code Online (Sandbox Code Playgroud)

还有这个变体:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/sublime
Run Code Online (Sandbox Code Playgroud)

在终端中,如果我输入:

echo $PATH
Run Code Online (Sandbox Code Playgroud)

我得到:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)

我试过编辑我的.bash_profile,现在它是空白的

毕竟,我尝试sublime .得到以下错误:

-bash: sublime: 命令未找到

我对 Mac OS X 和终端配置完全陌生,我真的很难弄清楚为什么我不能让它工作,所以任何帮助将不胜感激。

Gia*_*968 5

尝试运行命令的反斜杠/转义版本,ln -s如下所示:

ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/sublime
Run Code Online (Sandbox Code Playgroud)

正如该网站所解释的——我也同意——~/bin官方 Sublime Text 网站推荐的内容看起来很奇怪,我以前从未遇到过这样的本地二进制文件推荐。所以避免使用它。

但是在所有示例中也很奇怪的sudo是没有使用。该/usr/local/bin目录是根系统目录,除了root. 所以考虑到这一点,只需sudo像这样运行上面的命令:

sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/sublime
Run Code Online (Sandbox Code Playgroud)

当然,您现在必须输入您的 root/管理员密码。但是一旦完成,符号链接应该就位。并确认它在那里,只需从终端运行此命令:

ls -la /usr/local/bin/sublime
Run Code Online (Sandbox Code Playgroud)

输出应该是一个包含日期/时间的目录列表,如下所示:

lrwxr-xr-x   1 root  wheel       27 Aug 21  2015 sublime -> /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl
Run Code Online (Sandbox Code Playgroud)