【问题标题】:Adding a path with spaces doesn't work in OSX El Capitan在 OSX El Capitan 中添加带空格的路径不起作用
【发布时间】:2018-09-08 19:09:35
【问题描述】:

我尝试向我的 .bash_profile 添加一个路径,其中包含一个空格(/Applications/Racket\ v6.12/bin),然后它按预期出现在我的 PATH 变量中,但不允许我访问小路。我已经完成了通常的“关闭所有终端窗口”、“注销并重新登录”等操作,无论如何,添加的路径都不起作用(我无法在终端中从该路径运行任何二进制文件)指定它前面的完整路径)。

我什至尝试将它添加到 /etc/paths 而不是我的 .bash_profile 以使其成为系统范围的(当然是在首先从我的 .bash_profile 中删除它之后)。这甚至不应该是必要的,因为在使用 .bash_profile 时路径出现在我的 PATH 变量中,但我想我还是会尝试一下。

我什至这样做是为了逃避双引号:

export PATH="\"/Applications/Racket\ v6.12/bin\":$PATH"

以及上述的各种组合(没有转义的空格等)

我找到的唯一解决方案是创建一个没有空格的符号链接。例如,我是这样做的:

sudo ln -s /Applications/Racket\ v6.12/ /usr/local/racket

然后我将 /usr/local/racket/bin 添加到我的路径中(使用 .bash_profile 或 /etc/paths 工作)。

export PATH="/usr/local/racket/bin:$PATH"

这行得通,但我不敢相信用户必须求助于创建符号链接才能让他们的路径与空间一起工作。我在这里错过了什么吗?有没有更惯用的方法来添加带有空格的路径?我正在使用 OSX El Capitan 10.11.6。

【问题讨论】:

    标签: macos path osx-elcapitan spaces


    【解决方案1】:

    好的,回答了我自己的问题,所以在这里发布给其他有类似问题的人。我在看到另一个例子后尝试了这个: export PATH="/Applications/Racket v6.12/bin":$PATH 它奏效了。关键是路径周围只有空格的双引号,而不是像我错误地那样围绕整个变量字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-05
      • 2016-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多