许多 shell 都有一个--all
标志which
:
--all, -a 打印 PATH 中的所有匹配项,而不仅仅是第一个
但which
不符合 POSIX 标准;shellcheck
向我们指出command -v
.
command
但是没有类似的标志--all
。
答案1
type -a -p
提供此功能。
-a
指示它提供所有内容,而不仅仅是第一个。
-p
仅表示打印路径(否则您将获得<executable> is
路径前缀)并忽略非文件结果,例如别名。 (或者-P
跟随别名并强制进行 PATH 搜索。)