庆典/ Cygwin的/ $ PATH:我真的要重新启动,以改变$ PATH?(bash/cygwi

2019-09-18 15:02发布

我想用在Cygwin的,而不是一个直接的WinXP下安装安装了Python,所以我编辑的〜/ .bashrc和采购它。 没有改变。 我尝试过其他的东西,但没有我没有以任何方式改变$ PATH。 所以,我重新启动。 啊哈; 现在$ PATH已更改为我想要的东西。

但是,任何人都可以解释为什么会这样? 更改何时通过Cygwin(和bash)所做的环境(和它的变量)生效,只有重新启动后?

(这是没有办法运行的铁路?)(这个问题是不可能赢得任何积分,但我很好奇,我也累了,通过文档不就这点帮助涉水的。)

Answer 1:

尝试:

PATH="${PATH}:${PYTHON}"; export PATH

要么:

export PATH="${PATH}:${PYTHON}"

引号保留您不要在你的目录名有空格和换行。 我重复“不要”。

如果你想改变的路径,当前的环境和任何后续处理,使用类似于以上任一命令的东西; 它们是等价的。

如果您想更改路径下一次启动的Bash,编辑~/.bashrc ,并添加上述(例如)一个或编辑现有的PATH设置,你发现有命令。

如果你想既影响当前的环境和任何后续的人(即具有立即和“永久性”的影响),编辑~/.bashrc并执行下列操作之一:类型上面显示的前两个形式之一~/.bashrc文件。 有时候,你可能不希望做采购,如果,例如,它会撤消你正在做使用一些临时的事情现在想有不同的设置比其他一些变量~/.bashrc会集(复位)他们。

我不认为你需要担心的散列,除非你要么做一些严重的清理或添加系统工具或许一些地方的替代品。



Answer 2:

如果你希望你的改变是永久性的,你应该修改适当的文件(的.bashrc在这种情况下),并执行下列操作之一:

  • 重新启动cygwin的窗口
  • 源的.bashrc(这应该工作,即使不为你工作)
  • 。 .bashrc中(即点<空间> <文件名>)

然而,.bashrc中被默认使用的是bash shell时,因此,如果您正在使用另一个shell(CSH和ksh,zsh的,等等),那么您的更改不会通过修改.bashrc中体现出来使用。



Answer 3:

一对夫妇的事情,试图至少排除:

  1. 你得到相同的行为从外壳下面? (从我的cygwin,预期该工作粘贴。)

      $回声$ PATH  在/ usr / local / bin目录:在/ usr / bin中:/ bin中   $出口PATH = $ PATH:/ cygdrive / C / Python的/ bin中   $回声$ PATH  在/ usr / local / bin目录:在/ usr / bin中:/ bin中:/ cygdrive / C / Python的/ bin中 
  2. 是您的.bashrc设置PATH以类似的方式上面? (即第二命令)。

  3. 请问您的.bashrc包含一个“源”或“” 指挥地方? (也许它的采购会覆盖PATH变量另一个文件。)



Answer 4:

您可能需要修改路径变量后重新初始化bash的哈希值:

hash -r


文章来源: bash/cygwin/$PATH: Do I really have to reboot to alter $PATH?