5

我想使用安装在 cygwin 下的 Python,而不是直接安装在 WinXP 下的 Python,所以我编辑了 ~/.bashrc 并获取了它。没有改变。我尝试了其他的东西,但我没有以任何方式改变 $PATH 。所以我重新启动了。啊哈;现在 $PATH 已更改为我想要的。

但是,谁能解释为什么会这样?通过 cygwin(和 bash)对环境(及其变量)所做的更改何时仅在重新启动后生效?

(这是经营铁路的任何方式吗?)(这个问题不太可能赢得任何分数,但我很好奇,而且我也厌倦了在这一点上没有帮助的文档。)

4

4 回答 4

3

尝试:

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

或者:

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

引号保留目录名称中没有的空格和换行符。我重复“不要”

如果要更改当前环境和任何后续进程的路径,请使用类似于上述任一命令的内容;它们是等价的。

如果您想在下次启动 Bash 时更改路径,请编辑~/.bashrc并添加上述其中一项(例如)或编辑PATH您在此处找到的现有设置命令。

如果您想同时影响当前环境和任何后续环境(即具有即时和“永久”影响),请编辑~/.bashrc并执行以下操作之一:键入上面显示的前两种形式之一获取~/.bashrc文件。有时,您可能不想进行采购,例如,如果它会撤消您当前正在使用的一些临时事物,例如将其他一些变量设置为与~/.bashrc将它们设置(重置)不同。

我认为您不必担心哈希,除非您正在做一些认真的重新安排或添加一些系统实用程序的本地替换。

于 2009-07-14T01:15:56.580 回答
2

如果您希望您的更改是永久的,您应该修改正确的文件(在这种情况下为 .bashrc)并执行以下操作之一:

  • 重启cygwin窗口
  • source .bashrc (这应该可以工作,即使不适合你)
  • . .bashrc(即点 <空格> <文件名>)

但是,在使用 BASH shell 时默认使用 .bashrc,因此如果您使用其他 shell(csh、ksh、zsh 等),那么修改 .bashrc 将不会反映您的更改。

于 2009-07-14T01:55:17.077 回答
1

至少要尝试排除几件事:

  1. 您是否从 shell 获得与以下相同的行为?(从我的 cygwin 粘贴,按预期工作。)

    $ 回声 $PATH
    /usr/local/bin:/usr/bin:/bin
    
    $ export PATH=$PATH:/cygdrive/c/python/bin
    
    $ 回声 $PATH
    /usr/local/bin:/usr/bin:/bin:/cygdrive/c/python/bin
    
  2. 您的 bashrc 是否以与上述类似的方式设置 PATH?(即第二个命令)。

  3. 您的 bashrc 是否包含“源”或“。” 随地指挥?(也许它正在寻找另一个覆盖您的 PATH 变量的文件。)

于 2009-07-14T02:16:47.983 回答
0

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

hash -r
于 2009-07-14T00:57:32.260 回答