如何将〜/ 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)是目录的别名或快捷方式。 做如下:
-
首先,使用terminal命令行确保您在主目录中
cd ~
-
创build一个到你的
usr/bin
目录的符号链接。ln -s /usr/bin bin
其中
ln
=创build一个链接,-s
=符号,后跟[target diectory]
和[name of link]
-
testing你的新链接
cd bin
这应该把你带到你的
~/bin
– 和/usr/bin
。~
表示里面有一条长路。 -
现在,回到您的主文件夹安装
subl
命令cd ~
-
安装Sublime Text 2命令行工具。 我将使用
sudo
来绕过任何权限块。sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl
你应该很好走! testing它只需input
subl
作为你的命令行,它应该从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 ):
-
请通过以下命令检查您的系统完整性保护状态:
$ csrutil status
如果已启用,请按照以下步骤操作:
-
通过重新启动计算机并在启动时按住Command + R启动到OS X的恢复操作系统。
-
从“实用工具”菜单启动“terminal”。
-
运行以下命令:
$ csrutil disable $ reboot
这是由于OS X的一项称为“ 系统完整性保护”的安全function ,可防止对系统位置和进程的未经授权的访问。 所以如果启用了这个function,你将不能修改/ usr / bin的内容。
-
-
从/ usr / bin创build一个符号链接到〜/ bin :
$ sudo ln -s /usr/bin ~/bin
-
从Sublime Text 3 CLI工具创build一个符号链接到〜/ bin :
$ sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/bin
-
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/