如何将〜/ bin添加到我的path中?

我一直在修改我的path来添加Sublime Text 2.我已经添加了一个~/bin目录并运行这个命令 :

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

子链接出现在~/bin 。 但我需要将~/bin目录添加到我的path中。 我很新,而且我不知道我的路在哪里。 我环顾四周,发现可能的文件是.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 

当我inputsubl ,我得到:

 -bash: subl: command not found 

谢谢!

PS我以前安装Macports,修改我的.profile文件。 不知道这是否与它有什么关系 – 我现在不知道默认的.profile是什么样子。

我和你一样新,这意味着我甚至不知道如何读取一半有关修改path的东西。 最后,虽然我find了一个方法来做到这一点,不需要你把subl放到.rvm / bin(因为这是其他的东西),而是放在〜/ bin的适当目录中。

去你的terminal,input:

 open -a Finder /usr/bin 

这会将您的Finder打开到/ usr / bin目录。 一旦你在那里打开一个新的Finder,去应用程序,右键单击崇高文本图标,并转到显示包内容,然后到内容,SharedSupport,斌。 复制subl文件并将其粘贴到另一个显示/ usr / bin的Finder中

而已! 您应该设置为使用该命令:

 subl . (or subl file.name) 

所有评论在这里评论。 你需要在/usr/local/bin添加符号链接。 它不需要root权限。 而且不需要创build另一个bin目录。

崇高的文字2

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

崇高的文字3

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

更新zsh出于某种原因,当我最近从bash切换到zsh / prezto时,我的path中的“〜/ bin”不起作用。 我把它改成了“/ Users / myusername / bin”,它再次正常工作。 我会寻找一个原因,并find它时更新。 请评论,如果你有一个更好的解决scheme。

我知道这是一个旧的post,但认为我会logging一个解决scheme,其他人试图按照sublimetext给出的指示 ,从OSX命令行逐字升级 。 升级文本3 崇高文本3文档

1)在主目录“〜/”中创build一个名为“bin”的目录

 mkdir ~/bin 

2)创build一个符号链接到您刚刚创build的新目录中的崇高文本2应用程序

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

更新Sublime Text 3的应用程序path稍有不同:

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

3)按照Ryan Hoffman关于如何轻松添加到OSXpath的说明: 在Mac OSX中添加到path使用他的技术将新创build的“〜/ bin”添加到path中。 当你完成后,你的/ etc / paths文件将会看起来像这样(注意〜/ bin在最后):

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

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

你不需要做PATH=$PATH:~/bin/subl 。 相反, PATH=$PATH:~/bin就足够了。 这样,你正在告诉shell来查看二进制文件的~/bin 。 用你的命令,你告诉shell查看二进制文件的“文件夹” ~/bin/subl ,这是行不通的。 而且,您不需要在两个文件中添加命令。 在你的.bashrc添加一次。 我不是一个bash专家,但我可以推荐阅读这篇博文 ,了解不同启动文件的更多解释。

我想提出一个替代解决scheme来解决这个问题。 使用您的path中已经有一个目录。 喜欢这个:

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

TL;博士

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

例如,这里是我的path中的项目(使用$ 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可以轻松修改脚本以使用path中已有的位置

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

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

您需要先创build一个到/usr/bin的符号链接。 符号链接(或SymLink)是目录的别名或快捷方式。 做如下:

  1. 首先,使用terminal命令行确保您在主目录中

    cd ~

  2. 创build一个到你的usr/bin目录的符号链接。

    ln -s /usr/bin bin

    其中ln =创build一个链接, -s =符号,后跟[target diectory][name of link]

  3. testing你的新链接

    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

    你应该很好走! testing它只需inputsubl作为你的命令行,它应该从terminal启动Sublime Text 2。

有相同的挑战,结果只是创build一个.bash_profile文件,并直接在那里添加path语句。 工作没有发生。 你可能也想看看Alvin Alexander的示例.bash_profile post( http://alvinalexander.com/blog/post/mac-os-x/sample-mac-osx-bashrc-terminal-startup-file ) – 我发现了一个我还将添加其他一些有用的命令。

简单的在terminal上这样做:

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

这是我的Sublime存储的地方,请尝试键入Sublime的path,因为您的版本可能不同。

 subl . 

应该工作正常。

这里是完整的说明( Sublime Text 3 ):

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

     $ csrutil status 

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

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

    2. 从“实用工具”菜单启动“terminal”。

    3. 运行以下命令:

       $ csrutil disable $ reboot 

    这是由于OS X的一项称为“ 系统完整性保护”安全function ,可防止对系统位置和进程的未经授权的访问。 所以如果启用了这个function,你将不能修改/ usr / bin的内容。

  2. / usr / bin创build一个符号链接到〜/ bin

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

     $ sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/bin 
  4. testing它。

     $ subl . 
 echo $PATH 

并使用其中的一个path。 在这个例子中“/ usr / local / bin”

 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 

testing它是否工作

 subl 

这是崇高的文字3。

跟着和我一起工作。 我有崇高的版本3,并张贴在这里如果有人正在寻求帮助:

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

最近我一直在努力解决这个问题。 我意识到~没有扩展到path中的主目录。 至less不是为了我。

这是我做的工作。

 export PATH=$PATH:$HOME/bin 

我的subl从应用程序目录链接到我的~/bin根据我发现的酿造桶的后续指示。 不幸的是,path从未更新。

在约塞米蒂看来,命令实际上是崇高3,但我可能会误解:

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