![为什么终端中的‘which’命令在 20.04 中没有输出?](https://linux22.com/image/1176375/%E4%B8%BA%E4%BB%80%E4%B9%88%E7%BB%88%E7%AB%AF%E4%B8%AD%E7%9A%84%E2%80%98which%E2%80%99%E5%91%BD%E4%BB%A4%E5%9C%A8%2020.04%20%E4%B8%AD%E6%B2%A1%E6%9C%89%E8%BE%93%E5%87%BA%EF%BC%9F.png)
在 Ubuntu 18.04 中,我可以像这样使用“which”命令:
$ 哪个python
获取有关某个脚本等的位置的信息。但在 Ubuntu 20.04 上它没有提供任何输出:
henrik@henrik-thinkpad-20-04:~$ 哪个python henrik@henrik-thinkpad-20-04:~$ 哪个 henrik@henrik-thinkpad-20-04:~$
为什么?
答案1
python
因为系统中没有默认安装的命令。
历史上python
用于 Python 版本 2.x。由于 Python 2 已 EOL,因此不再有python
调用 Python 2 解释器的命令。
您可以安装该python-is-pyhon3
包以获得python
调用 Python 3 解释器的快捷方式。
但是,通常您应该python3
明确使用该命令。
答案2
如果which python
没有返回任何内容但python
仍然为您提供了一个 python shell,python
则可能被定义为别名(使用 检查alias python
)。
答案3
因为没有python
可执行文件。相反,有python3
。
raj@jarek-02:~$ which python
raj@jarek-02:~$ python
Command 'python' not found, did you mean:
command 'python3' from deb python3
command 'python' from deb python-is-python3
raj@jarek-02:~$ which python3
/usr/bin/python3
答案4
which
最好使用bash
名为 的“内置命令”来代替命令type
。有关更多信息,请参阅help type
。
此命令还将定位别名和 ”内置“:
$ which python
$ type python
bash: type: python: not found
$ alias python=/usr/bin/python3
$ which python
$ type python
python is aliased to `/usr/bin/python3'
$ which type
$ type type
type is a shell builtin
$ which which
/usr/bin/which
$ type which
which is hashed (/usr/bin/which)