hash [ -dfmrv ] [ name[=value] ] ...
       hash can be used to directly modify the contents of
       the  command  hash  table,  and the named directory
       hash table.  Normally one would modify these tables
       by  modifying  one's  PATH  (for  the  command hash
       table) or by creating appropriate shell  parameters

       (for  the  named directory hash table).  The choice
       of hash table to work on is determined  by  the  -d
       option;  without  the option the command hash table
       is used, and with the option  the  named  directory
       hash table is used.

       Given  no  arguments,  and  neither  the  -r  or -f
       options, the selected hash table will be listed  in
       full.

       The  -r option causes the selected hash table to be
       emptied.  It will be subsequently  rebuilt  in  the
       normal  fashion.  The -f option causes the selected
       hash table to be fully  rebuilt  immediately.   For
       the command hash table this hashes all the absolute
       directories in the PATH, and for the  named  direc-
       tory  hash table this adds all users' home directo-
       ries.  These two options cannot be  used  with  any
       arguments.

       The  -m  option causes the arguments to be taken as
       patterns (they should be quoted) and  the  elements
       of  the  hash  table  matching  those  patterns are
       printed.  This is the only way to display a limited
       selection of hash table elements.

       For  each  name  with  a  corresponding  value, put
       `name' in the selected hash table,  associating  it
       with  the  pathname  `value'.   In the command hash
       table, this means that whenever `name' is used as a
       command argument, the shell will try to execute the
       file given by `value'.  In the named directory hash
       table,  this  means that `value' may be referred to
       as `~name'.

       For each name with no corresponding value,  attempt
       to  add  name  to the hash table, checking what the
       appropriate value is in the normal manner for  that
       hash  table.   If  an  appropriate  value  can't be
       found, then the hash table will be unchanged.

       The -v option  causes  hash  table  entries  to  be
       listed as they are added by explicit specification.
       If has no effect if used with -f.

rehash Same as hash -r.
