更改环境路径变量顺序

更改环境路径变量顺序

我正在 CentOS 机器上工作并尝试安装较新版本的 python。 CentOS 需要 python 2.6.6 才能正常运行。为了解决这个问题,我在 /usr/local/bin 中安装了第二个 python (v 2.7.6)。然后我创建了一个名为 python 的符号链接。不幸的是,因为我的环境路径变量是这样的:

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/useraccount/bin

/usr/local/bin 位于 /usr/bin 之前,它使用我新安装的 python 作为默认系统安装,这打破了 CentOS 将 python 2.6.6 作为默认安装的要求。

删除符号链接可以解决此问题。但是,如果我安装了较新版本的 python,我希望能够仅切换符号链接,而不是更改所有脚本以指向较新版本。

有没有办法更改这些变量添加到路径的顺序?例如,我可以使路径看起来像这样:

/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/useraccount/bin

很容易找到详细说明如何添加到路径或完全覆盖它的帖子,但似乎没有人这样做。您有什么理由不想更改此顺序吗?

答案1

您找不到更改路径变量顺序的指南的原因是,这比添加或完全替换它要困难得多。

$PATH只是 shell 中的一个变量。这意味着很容易替换它(通过运行PATH=<new path>,或将其放入您的.bashrc),并且很容易添加它(使用PATH=<new entry>$PATH,因为$PATH变成当前路径)。但如果你想改变顺序,你首先必须解析它 - 你需要编写一个脚本来理解变量如何工作。

出于您的目的,最好将符号链接放在默认环境路径之外的目录中。~/bin/例如,您可以将其放入,也可以将其放入/usr/local/bin/nopath/

相关内容