为什么终端中的‘which’命令在 20.04 中没有输出?

为什么终端中的‘which’命令在 20.04 中没有输出?

在 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)

相关内容