如何修复在 MacOS 中从终端打开 sublime 的问题?

Ale*_*lex 1 macos command-line sublimetext3

我希望能够从命令行打开 MacOS (14.10.6) 中的 sublime 文本编辑器。我找到了一些如何做到这一点的说明(此处此处),但当然它对我不起作用。

我确实在以下位置创建了指向应用程序的符号链接/usr/local/bin

sublime -> /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl
Run Code Online (Sandbox Code Playgroud)

该位置的文件/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl 确实存在。此外,该文件夹/usr/local/bin包含的实际定义中PATH

但是,当我在终端的命令行中输入该命令时,找不到该命令

~$ sublime
-bash: sublime: command not found
Run Code Online (Sandbox Code Playgroud)

证明:

$ls -al /usr/local/bin | grep sublime
lrwxr-xr-x    1 root    admin        63 Jan 15 07:44 sublime -> /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl

$ echo $PATH
/usr/local/opt/python@3.8/bin:/usr/local/opt/python@3.8/bin:/Users/adietz/miniconda3/bin:/usr/local/bin:/Users/adietz/.pyenv/shims:/Users/adietz/opt/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/puppetlabs/bin:/opt/X11/bin
Run Code Online (Sandbox Code Playgroud)

有什么想法如何解决这个问题吗?

Jea*_*nès 5

您可以使用该open命令,如手册所述:

描述

The open command opens a file (or a directory or URL), just as if you had
double-clicked the file's icon. If no application name is specified, the
default application as determined via LaunchServices is used to open the
specified files.
Run Code Online (Sandbox Code Playgroud)

选项-a适用于 MacOS 应用程序,然后

open -a sublime\ text
Run Code Online (Sandbox Code Playgroud)

(或类似)应该有效。

然后您可以给它起别名并在需要时调用它:

alias sublime="open -a sublime\ text"
sublime
Run Code Online (Sandbox Code Playgroud)