hash 命令
用途
记住或报告命令路径名。
语法
- 将命令的路径添加到路径名列表
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。 |
退出状态
返回以下退出值:
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 成功完成。 |
| >0 | 发生错误。 |
示例
- 要查找 wc 命令的路径名并将其添加到路径名列表,请输入:
hash wc - 要清除路径名列表的内容,请输入:
hash -r
文件
| 项 | 描述 |
|---|---|
| /usr/bin/ksh | 包含 Korn shell 程序 hash 内置命令。 |
| /usr/bin/hash | 包含 hash 命令。 |