我一直在测试最小的 Fedora 安装。要检查 python 或 node 等解释器的路径,我通常使用which
.
我注意到which
默认情况下没有安装。我可以添加这个包,但我想知道是否有一个内置的 shell 可以用来执行这个常见的任务。
我正在使用 bash 4.2。
我一直在测试最小的 Fedora 安装。要检查 python 或 node 等解释器的路径,我通常使用which
.
我注意到which
默认情况下没有安装。我可以添加这个包,但我想知道是否有一个内置的 shell 可以用来执行这个常见的任务。
我正在使用 bash 4.2。
您可以使用
type
Bash 内置:有关文档,请参阅
help [t]ype
,它指的是手册页type
中的部分。bash
(
help type
打印两个 以字符串“type”开头的内置函数的帮助页面,其中一个已过时且与此完全无关。)您可以使用
type
或command -v
。的输出type
是人类可读的;的输出command -v
可以由 Bash 执行。请注意,它们实际上有些不同。
type
并command
查找命令的哈希值。也就是说,如果你输入cmd
,type cmd
orcommand -v cmd
会告诉你究竟会运行什么。它们还适用于别名、Bash 函数和 Bash 内置函数(尽管type -p
会忽略这些并只返回真实文件)。which
只是在 PATH 上进行搜索。这是不同的,因为:which
,但执行该命令将使用散列值(您可以使用 强制更新 Bash 中的散列hash -r
)。通常人们真的想要
type
,而不是which
,至少用于交互式使用,因为他们用它来找出“当我运行它时这个命令来自哪里?”which
仅当您确实想要进行 PATH 查找时才应使用。