记住或报告命令路径名。
hash [ Command ... ]
hash -r
hash 命令通过添加路径名到列表或清除列表内容影响当前 shell 记住命令路径名的方式。
当不指定参数或标志时,hash 命令向标准输出报告路径名列表的内容。此报告包含由先前 hash 命令调用找到的当前 shell 环境中命令的路径名。此显示还包含通过正常命令搜索进程调用并找到的那些命令。
注:hash 命令不报告 shell 内置命令。
可以使用 -r 标志清除命令路径名列表的内容。还可以通过复位 PATH 环境变量的值从列表清除路径名。用最简单的格式,这可以通过输入以下命令完成:
PATH="$PATH"
如果使用了 Command 参数,则 hash 命令搜索指定命令的路径名并将该路径添加到列表。当指定命令时不要使用 /(斜杠)。
因为 hash 命令影响当前 shell 环境,所以它作为 Korn shell 或 POSIX shell 常规内置命令提供。如果 hash 命令在独立的命令执行环境中调用,如以下示例所示,则它不会影响调用者环境的命令搜索进程:
nohup hash -r find . -type f | xargs hash
使用 hash 命令等同于使用 alias -t 命令。
-r | 清除路径名列表的内容。 |
Command | 指定添加到路径名列表的 Command。 |
返回以下出口值:
0 | 成功完成。 |
>0 | 发生错误。 |
/usr/bin/ksh | 包含 Korn shell hash 内置命令。 |
/usr/bin/hash | 包含 hash 命令。 |