![为什么“导出”不会覆盖现有值?](https://linux22.com/image/117846/%E4%B8%BA%E4%BB%80%E4%B9%88%E2%80%9C%E5%AF%BC%E5%87%BA%E2%80%9D%E4%B8%8D%E4%BC%9A%E8%A6%86%E7%9B%96%E7%8E%B0%E6%9C%89%E5%80%BC%EF%BC%9F.png)
为什么不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"
请注意,(除了 inzsh
或tcsh
,或者如果您which
本身就是一个调用 GNU 的 shell 函数which
,如其手册所建议的那样),which
将不会显示别名,而 egtype python
会显示别名。