如何在路径中添加〜/ bin?

时间:2012-05-26 15:58:12

标签: macos bash sublimetext

我一直无法修改添加Sublime Text 2的路径。我添加了~/bin目录和run this command

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

子链接显示在~/bin中。但我需要将~/bin目录添加到我的路径中。我对此很新,我不知道我的路在哪里。我环顾四周,发现可能的文件是.profile.bash_profile.bashrc

我没有.bash_profile。致.profile.bashrc我添加了

PATH=$PATH:~/bin/subl
export PATH

这是正确的添加吗?如果是这样,我应该在哪里添加它?

当我echo $PATH时,我得到:

/Users/<username>/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2ndEd/bin:/Users/<username>/.rvm/gems/ruby-1.9.3-p194@global/bin:/Users/<username>/.rvm/rubies/ruby-1.9.3-p194/bin:/Users/<username>/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

当我输入subl时,我得到:

-bash: subl: command not found

谢谢!

P.S。我以前安装了Macports,它修改了我的.profile文件。不确定这与它有什么关系 - 我现在不知道默认的.profile是什么样的。

13 个答案:

答案 0 :(得分:87)

我和你一样陌生,这意味着我甚至不确定如何阅读与修改PATH相关的一半内容。最后,虽然我找到了一种方法来做到这一点,不需要你将subl放入.rvm / bin(因为那是其他的东西),但在其适当的目录中,这是〜/ bin。

转到您的终端并输入:

open -a Finder /usr/bin

这将打开您的Finder到/ usr / bin目录。一旦你在那里打开一个新的Finder,转到应用程序,右键单击Sublime Text图标并转到Show Package Contents,然后转到Contents,SharedSupport,bin。复制subl文件并将其粘贴到显示/ usr / bin

的其他Finder中

就是这样!您应该设置为使用命令:

subl . (or subl file.name)

答案 1 :(得分:47)

所有评论的Instread在这里。您需要在/usr/local/bin中添加符号链接到sublime。它不需要root访问权限。而且不需要创建另一个bin目录。

对于Sublime Text 2

ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/

对于Sublime Text 3

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/

答案 2 :(得分:37)

zsh更新 出于某种原因,当我最近从bash切换到zsh / prezto时,我路径中的“〜/ bin”无效。我将其更改为“/ Users / myusername / bin”,它再次正常工作。我会找到原因,并在找到它时更新。如果你有更好的解决方案,请评论。

我知道这是一篇旧帖子,但我想我会为其他任何试图按照instructions given by sublimetext跟踪OSX命令行的sublime的人提供解决方案。 Sublime text 3的更新 Sublime Text 3 Documentation

1)在主目录“〜/”

中创建一个名为“bin”的目录
mkdir ~/bin

2)在您刚刚创建的新目录中创建指向您的sublime text 2 app的符号链接

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

Sublime Text 3 应用路径的更新略有不同:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl

3)按照Ryan Hoffman关于如何在OSX中轻松添加路径的说明:add to the path on Mac OSX使用他的技术将新创建的“〜/ bin”添加到路径中。完成后你的/ etc / paths文件看起来像这样(注意结尾〜/ bin):

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
~/bin

4)打开一个新的终端窗口,从命令行开始使用subl。

答案 3 :(得分:11)

您无需执行PATH=$PATH:~/bin/subl。相反,PATH=$PATH:~/bin就足够了。这样,您告诉shell查看~/bin二进制文件。使用您的命令,您告诉shell查看二进制文件的“文件夹”~/bin/subl,这不起作用。此外,您无需在两个文件中添加命令。在.bashrc中添加一次。我不是bash专家,但我建议您阅读this blog post以获取有关不同启动文件的进一步说明。

答案 4 :(得分:7)

我想为这个问题提出另一种解决方案。使用路径中已有的目录。像这样:

$ sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

TL;博士

我在Yosemite(OS X 10.10)中遇到了同样的问题,在全新安装的操作系统中,〜/ bin目录不存在且不在您的路径中。然而,在路径中已经有很多有用的地方可以将符号链接放到Sublime上。

例如,以下是我路径中的项目(使用$ echo $PATH获取列表):

/Applications/Postgres.app/Contents/Versions/9.3/bin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin:/usr/local/bin
/usr/local/mysql/bin

您可以通过将标有~/bin/subl的部分更改为/usr/local/bin/subl

,轻松修改脚本以使用路径中已有的位置

因此,运行以下命令将实现您的目标。

$ sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

答案 5 :(得分:3)

您需要先创建一个指向/usr/bin的符号链接。符号链接 - 或SymLink - 是目录的别名或快捷方式。请按以下步骤操作:

  1. 首先,确保使用终端命令行

    进入主目录

    cd ~

  2. 创建指向usr/bin目录的符号链接。

    ln -s /usr/bin bin

    ln =创建链接,-s =符号,后跟[target diectory][name of link]

  3. 测试新链接

    cd bin

    这会将您带到~/bin - 与/usr/bin相同。 ~表示隐藏在内部的长路径。

  4. 现在,返回到您的主文件夹以安装subl命令

    cd ~

  5. 安装Sublime Text 2命令行工具。我将使用sudo来绕过任何权限块。

    sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

    你应该好好去!只需输入subl作为命令行进行测试,它就应该从终端启动Sublime Text 2.

答案 6 :(得分:2)

遇到了同样的挑战,最后只创建了一个.bash_profile文件,并直接在那里添加了路径语句。工作没有事故。你可能还想查看Alvin Alexander的样本.bash_profile帖子(http://alvinalexander.com/blog/post/mac-os-x/sample-mac-osx-bashrc-terminal-startup-file) - 我还发现了一些其他有用的命令。

答案 7 :(得分:2)

在终端上做到这一点:

sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/bin/subl

这就是我存储Sublime的地方,尝试输入Sublime的路径,因为你的版本可能不同。

subl . 

应该可以正常工作。

答案 8 :(得分:2)

我最近一直在努力解决这个问题。我意识到~没有扩展到路径中的主目录。至少它不适合我。

这就是我做的工作。

export PATH=$PATH:$HOME/bin

根据我发现的brew cask的一些后续说明,我的subl已从应用程序目录链接到我的~/bin。不幸的是,路径从未更新。

答案 9 :(得分:1)

以下是执行此操作的完整说明(适用于 Sublime Text 3 ):

  1. 请通过以下命令检查系统完整性保护状态:

    $ csrutil status
    

    如果已启用,请按以下步骤操作:

    1. 重新启动计算机并在启动时按住Command + R,启动到OS X的恢复操作系统。

    2. 从“工具”菜单启动终端。

    3. 运行以下命令:

      $ csrutil disable
      $ reboot
      
    4. 这是因为OS X的安全功能称为系统完整性保护,可防止对系统位置和进程进行未经授权的访问。因此,如果此功能启用,您无法修改/ usr / bin的内容。

    5. / usr / bin 创建一个符号链接到〜/ bin

      $ sudo ln -s /usr/bin ~/bin
      
    6. 从Sublime Text 3 CLI工具创建一个符号链接到〜/ bin

      $ sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/bin
      
    7. 测试它。

      $ subl .
      

答案 10 :(得分:1)

echo $PATH

并使用其中一条路径。在这个例子中&#34; / usr / local / bin&#34;

sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

如果系统返回No such file or directory

sudo mkdir /usr/local/bin/
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

测试它是否有效

subl

这是Sublime Text 3。

答案 11 :(得分:0)

跟我一起工作。我有Sublime版本3并在此处发布,如果有人正在寻求帮助:

sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /bin/subl

答案 12 :(得分:0)

在优胜美地看来这个命令实际上是针对Sublime 3的,但我可能会弄错:

    ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/
相关问题