为什么“导出”不会覆盖现有值?

为什么“导出”不会覆盖现有值?

为什么不export python=/usr/local/bin/python2.7改变路径python

我对以下内容感到困惑:

$ which python
/usr/bin/python
$ export python=/usr/local/bin/python2.7
$ which python
/usr/bin/python

我使用的是 OSX v10.12。

答案1

程序which确定 shell 命令的路径。

您在第二条语句中所做的是设置一个名为 的变量python

Shell 命令和变量是完全不同的东西。

您可能想要使用的是别名。

alias python="/usr/local/bin/python2.7"

请注意,(除了 inzshtcsh,或者如果您which本身就是一个调用 GNU 的 shell 函数which,如其手册所建议的那样),which将不会显示别名,而 egtype python会显示别名。

相关内容