手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

unhash(1)

名称

hash , rehash , unhash , hashstat - 计算目录内容的内部散列表

用法概要

/usr/bin/hash [utility]
/usr/bin/hash [-r]

sh

hash [-r] [name]...

csh

rehash 
unhash 
hashstat 

ksh88

hash [name]...
hash [-r]

描述

/usr/bin/hash

/usr/bin/hash 实用程序影响当前 shell 环境记录所发现的实用程序的位置的方式。它根据指定的参数将实用程序位置添加至它记录的位置列表,或者清除该列表的内容。未指定参数时,它将报告列表的内容。使用 –r 选项时,shell 会清除它记录的所有位置。

hash 不会报告作为 shell 内置命令提供的实用程序。

sh

对于每个 name,shell 都会确定并记录 name 指定的命令搜索路径中的位置。使用 hash 内置命令的 –r 选项时,shell 会清除所记录的所有位置。未指定任何参数时,hash 将提供有关已记录的命令的信息。输出中的 Hits 列是 shell 进程调用某个命令的次数。输出中的 Cost 列是找到搜索路径中的命令所需的工作量的度量。如果在搜索路径中的某个“相对”目录中找到一个命令,则更改到该目录后,该命令的存储位置将重新计算。需要对其执行此重新计算的命令由 Hits 信息旁的一个星号 (*) 予以指示。在执行重新计算后,Cost 将递增。

csh

rehash 重新计算 path 环境变量中列出的目录内容的内部散列表,以便计入新添加的命令。

unhash 禁用内部散列表。

hashstat 输出一个统计信息行以指明内部散列表在定位命令(和避免执行 exec)时的有效程度。对于散列函数指示可能存在命中项的 path 的每个组件,以及在未以 " / " 开头的每个组件中,都将尝试执行 exec

ksh88

对于每个 name,shell 都会确定并记录 name 指定的命令搜索路径中的位置。使用 hash 内置命令的 –r 选项时,shell 会清除所记录的所有位置。未指定任何参数时,hash 将提供有关已记录的命令的信息。

操作数

hash 支持以下操作数:

utility

要搜索和添加到所记录的位置列表的实用程序的名称。

输出

输出

未指定参数时,将使用 hash 的标准输出。标准输出的格式不指定,但将包含当前 shell 环境中记录的位置列表中每个实用程序的路径名。此列表由以前调用的 hash 调用中指定的那些实用程序构成,还可能包含通过普通命令搜索进程调用和找到的那些实用程序。

环境变量

有关影响 hash 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES 和 NLSPATH。

PATH

确定 utility 的位置。

退出状态

hash 返回以下退出值:

0

成功完成。

>0

出现错误。

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os
接口稳定性
Committed(已确定)
标准
请参见 standards(5)

另请参见

csh(1)ksh88(1)sh(1)attributes(5)environ(5)standards(5)