whence [ -vcwfpamsS ] [ -x num ] name ...
       For each name, indicate how it would be interpreted if used as a
       command name.

       If name is not an alias, built-in command, external command, shell
       function, hashed command, or a reserved word, the exit status shall
       be non-zero, and -- if -v, -c, or -w was passed -- a message will be
       written to standard output.  (This is different from other shells
       that write that message to standard error.)

       whence is most useful when name is only the last path component of a
       command, i.e. does not include a `/'; in particular, pattern
       matching only succeeds if just the non-directory component of the
       command is passed.

       -v     Produce a more verbose report.

       -c     Print the results in a csh-like format.  This takes
              precedence over -v.

       -w     For each name, print `name: word' where word is one of alias,
              builtin, command, function, hashed, reserved or none,
              according as name corresponds to an alias, a built-in
              command, an external command, a shell function, a command
              defined with the hash builtin, a reserved word, or is not
              recognised.  This takes precedence over -v and -c.

       -f     Causes the contents of a shell function to be displayed,
              which would otherwise not happen unless the -c flag were
              used.

       -p     Do a path search for name even if it is an alias, reserved
              word, shell function or builtin.

       -a     Do a search for all occurrences of name throughout the
              command path.  Normally only the first occurrence is printed.
              When combined with -m, only names appearing in the command
              hash table are searched, but all occurrences of those names
              are printed.

       -m     The arguments are taken as patterns (pattern characters
              should be quoted), and the information is displayed for each
              entry in the command hash table matching one of these
              patterns.  The hash table is first refilled, in case of
              changes to PATH.

       -s     If a pathname contains symlinks, print the symlink-free
              pathname as well.

       -S     As -s, but if the pathname had to be resolved by following
              multiple symlinks, the intermediate steps are printed, too.
              The symlink resolved at each step might be anywhere in the
              path.

       -x num Expand tabs when outputting shell functions using the -c
              option.  This has the same effect as the -x option to the
              functions builtin.

type [ -wfpamsS ] name ...
       Equivalent to whence -v.

where [ -wpmsS ] [ -x num ] name ...
       Equivalent to whence -ca.

which [ -wpamsS ] [ -x num ] name ...
       Equivalent to whence -c.
