hash - Remembers or reports utility locations
Interfaces documented on this reference page conform to industry standards
Refer to the standards(5) reference page for more information about indus-
try standards and associated tags.
-r Forgets all previously remembered utility locations.
The name of a utility to be searched for and added to the list of
remembered locations. If utility contains one or more slashes, the
results are unspecified.
The hash utility affects the way the current shell environment remembers
the locations of utilities found. Depending on the arguments specified, it
adds utility locations to its list of remembered locations or it purges the
contents of the list.
When no arguments are specified, hash reports on the contents of the list.
This list consists of those utilities named in previous hash invocations
that have been invoked, and those invoked and found through the normal com-
mand search process. This list includes the path name of each utility in
the list of remembered locations for the current shell environment.
1. The use of hash with utility names is unnecessary for most applica-
tions, but may provide a performance improvement.
2. The effects of hash -r can also be achieved by resetting the value of
1. If hash is called in a separate utility execution environment, such as
one of the following it will not affect the command search process of
the caller's environment.
nohup hash -r
find . -type f | xargs hash
2. Utilities provided as built-ins to the shell are not reported by hash.
The following exit values are returned:
0 Successful completion.
>>0 An error occurred.
The following environment variables affect the execution of hash:
Provides a default value for the internationalization variables that
are unset or null. If LANG is unset or null, the corresponding value
from the default locale is used. If any of the internationalization
variables contains an invalid setting, the utility behaves as if none
of the variables had been defined.
If set to a non-empty string value, overrides the values of all the
other internationalization variables.
Determines the locale for the interpretation of sequences of bytes of
text data as characters (for example, single-byte as opposed to multi-
byte characters in arguments).
Determines the locale that should be used to affect the format and con-
tents of diagnostic messages written to standard error.
Determines the location of message catalogues for the processing of
Determines the location of name.
Commands: command(1), type(1)