当前位置:  开发笔记 > 编程语言 > 正文

如何将$ HOME/opt/git/bin放入PATH?

如何解决《如何将$HOME/opt/git/bin放入PATH?》经验,为你挑选了2个好方法。

我试图将以下内容包含在我的〜/ .profile中失败:

export PATH='$HOME/opt/git/bin'

似乎没有用,因为$ git什么都没给我.我正在尝试安装Git.

我也在这里试过命令.



1> matpie..:

你要小心那个命令.它将覆盖你的$ PATH.

您可能需要将其放入并将其~/.bash_profile更改为:

export PATH="$HOME/opt/git/bin:$PATH"



2> Jonathan Lef..:

正如SirLancelot指出的那样,你重置了你的路径,而不是增加它.您还使用单引号而不是双引号,因此值集恰好是显示的字符串,而不是包含$ HOME的扩展值.如上所述,正确的解决方案是使用:

export PATH="$PATH:$HOME/opt/git/bin"

或者您可以撤消订单:

export PATH="$HOME/opt/git/bin:$PATH"

但是,所有这一切都确保在您键入时git,将找到可执行文件.

你的问题也提到了$git; 您必须设置该变量,可能使用:

export git=$(which git)

话虽如此,我觉得使用PATH $git时的优势并不明显git; 这是一个额外的字符输入(和一个移位数字).如果要继续使用$git,可能不应该添加$HOME/opt/git/bin到PATH.它的存在减慢了不成功的命令搜索速度,如果你总是访问gitvia $git(现在必须使用:设置export git=$HOME/opt/git/bin/git),那么git在PATH 上使用bin目录是没有好处的.


Masi评论说订单毫无意义,Douglas Leeder回应道:

订单并非毫无意义 - 它是[搜索目录]的顺序.但是,git不在任何其他搜索目录中,并且gitbin目录中的命令与任何其他命令之间不应该有任何重叠,因此在这种情况下顺序不会有任何区别.

这基本上是准确的,但我会旋转一下.搜索命令时,系统通过在PATH中的每个目录中查找该程序来查找该程序,直到找到它为止.因此,当它查找ls例如gitPATH前面的bin目录时,shell将查找$HOME/opt/git/bin/ls并找不到它,并传递给PATH中的其他目录,最终在/usr/bin/ls或中找到它/bin/ls.有些shell会缓存程序所在的位置; 别人不这样做.因此,保持/bin/usr/bin靠近PATH的前端是有意义的,以加快对标准实用程序的访问.我总是$HOME/bin站在我的路径前面; 这样,我可以使用我自己的版本覆盖任何内容 - 我会为某些命令执行此操作.

此外,在我的主要工作机器上,/usr/local/bin目录不在我的控制之下.因此,我不相信它,并且我确保它在我的PATH的末尾是正确的,所以其中的古董GCC不是我使用的那个,例如.[ 嗯; 他们已将其更新为3.4.6; 曾经是2.95左右; 仍然,我使用4.3.3.]

还有一个建议给你.考虑在你的$HOME/bin(假设你有一个,它在你的PATH上)创建一个指向安装位置的符号链接git.这意味着您不会向PATH添加额外的目录(因此工作速度稍快)但您确实可以使用git您选择使用的版本.

ln -s $HOME/opt/git/bin/git $HOME/bin/git

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有