【发布时间】:2019-04-02 15:01:28
【问题描述】:
当我在我的 Mac 上 echo $PATH 时,我看到了:
/Users/me/.nvm/versions/node/v8.2.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin:/Applications/Sublime\ Text.app/Contents/SharedSupport/bin
运行 code 以使用 vscode 编辑器打开项目有效,但是 subl 得到错误 -bash: subl: command not found。我注意到网上很多人建议符号链接到usr/local/bin 但是我不明白如果它已经在我的路径中,为什么这是必要的。
如果我 cd /Applications/Sublime\ Text.app/Contents/SharedSupport/bin 我看到 subl 存在那里。
如果我在终端 /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl 中运行以下命令,那么 sublime 就会打开。但是,如果我尝试直接从该 bin 内部运行 subl,则它不会打开。
bin内的subl有以下权限:-rwxr-xr-
我通过将其添加到我的.bashrc 来将其添加到我的路径中:
export PATH="$PATH:/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/"
我不太确定为什么它没有使用命令subl 打开,而且我不明白如果它在我的 PATH 中,为什么我需要链接。我更愿意用我理解的解决方案来解决它。
【问题讨论】:
-
我不知道 mac。路径上的空格是否真的需要转义?我可以看到它们在命令行上很有用,但是!也许这就是人们喜欢使用符号链接的原因? :-)
-
哦!实际上,在终端中测试
export PATH=...时我确实需要转义,但我不需要.bashrc中的转义!奇怪的是,vscode 路径在 bashrc 中也有转义,但无论有无转义都适用 -
@Turnipdabeet 你目前正在逃跑两次。引号不定义字符串;它们隐式地转义了引号中包含的每个字符。
"foo"等同于\f\o\o。
标签: bash path sublimetext3