hash - Remembers or reports utility locations
Interfaces documented on this reference page conform to
industry standards as follows:
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
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 command
search process. This list includes the path name of each
utility in the list of remembered locations for the current
The use of hash with utility names is unnecessary for most
applications, but may provide a performance improvement.
The effects of hash -r can also be achieved by resetting
the value of PATH.
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 Utilities provided as
built-ins to the shell are not reported by hash.
The following exit values are returned: Successful completion.
An error occurred.
ENVIRONMENT VARIABLES [Toc] [Back]
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 nonempty
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 multibyte
characters in arguments). Determines the locale that
should be used to affect the format and contents of diagnostic
messages written to standard error. Determines the
location of message catalogues for the processing of
LC_MESSAGES. Determines the location of name.
Commands: command(1), type(1)
[ Back ]