WHICH(1)                FreeBSD General Commands Manual               WHICH(1)

NAME

     which - locate a program file in the user's path

SYNOPSIS

     which [-as] program ...

DESCRIPTION

     The which utility takes a list of command names and searches the path for
     each executable file that would be run had these commands actually been
     invoked.

     The following options are available:

     -a      List all instances of executables found (instead of just the
             first one of each).

     -s      No output, just return 0 if all of the executables are found, or
             1 if some were not found.

     Some shells may provide a builtin which command which is similar or
     identical to this utility.  Consult the builtin(1) manual page.

EXAMPLES

     Locate the ls(1) and cp(1) commands:

           $ /usr/bin/which ls cp
           /bin/ls
           /bin/cp

     Same as above with a specific PATH and showing all occurrences:

           $ PATH=/bin:/rescue /usr/bin/which -a ls cp
           /bin/ls
           /rescue/ls
           /bin/cp
           /rescue/cp

     which will show duplicates if the same executable is found more than
     once:

           $ PATH=/bin:/bin /usr/bin/which -a ls
           /bin/ls
           /bin/ls

     Do not show output.  Just exit with an appropriate return code:

           $ /usr/bin/which -s ls cp
           $ echo $?
           0

           $ /usr/bin/which -s fakecommand
           $ echo $?
           1

SEE ALSO

     builtin(1), csh(1), find(1), locate(1), whereis(1)

HISTORY

     The which command first appeared in FreeBSD 2.1.

AUTHORS

     The which utility was originally written in Perl and was contributed by
     Wolfram Schneider <wosch@FreeBSD.org>.  The current version of which was
     rewritten in C by Daniel Papasian <dpapasia@andrew.cmu.edu>.

FreeBSD 15.1-STABLE-HBSD      September 24, 2020                      WHICH(1)