bash shell 中`command` 命令的“p”选项究竟有什么作用?

tes*_*ter 12 bash path command

command bash 中的命令:运行带有参数的命令,忽略任何名为 command 的 shell 函数。

' -p ' 选项意味着使用$PATH的默认值来保证找到所有标准实用程序。

这里提到的默认 PATH 究竟是什么?当我定义时export PATH="/home/ozgur/":$PATH,我不是在默认值上添加一个新的 PATH 路径吗?

## For Example
~$ export PATH="/home/ozgur/":$PATH
~$ echo $PATH
/home/ozgur/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
~$ script.sh
hey, i am working !
~$ command -p script.sh
hey, i am working !
Run Code Online (Sandbox Code Playgroud)

当我使用命令的“ -p ”选项时command,我希望它忽略我定义的新 PATH 路径,但这并没有发生。我到底错过了什么?什么是使用“点-p ”选项,如果用户的PATH路径变化并不与“覆盖-p ”选项?

use*_*777 16

我到底错过了什么?

script.sh命令是散列的。如果您运行hash -rcommand -p script.sh则将按预期失败。但是如果你直接运行它,它会再次散列。

这真的看起来像是 bash 中的一个错误——它不会发生在其他 shell 中。