man uawhich




NAME

  uawhich - Identify where in PATH something executes


SYNOPSIS

  uawhich[-options] program [program...]


DESCRIPTION

  The uawhich command identifies where in PATH something executes.  It
  is comparable to which which primarily operates under  csh  although
  may  work  under  ksh.   Note  some implementations of ksh include a
  built-in whence intended to be used instead  of  which.   Confusing,
  eh?   That's the primarily reason to use uawhich so you know what is
  actually executing under any shell.


OPTIONS

  -first  First only option, comparable to standard which.
          Useful returning full command which will execute:
            # COMMAND='uawhich -f cp'

  -read   Read check, default check is for execute access.
          Useful for command files read by utilities.

  -xr     Read and execute check (for scripts).
          Must specify '-xr'.

  -verbose
          Verbose option to display errno if set.
          Utilizes a call to system().

  -uals   Display filename(s) via uals (enhanced ls).
          Defaults as 'uals -L' to show attributes via symbolic  link.

  -Uoptions
          Display filename(s) via 'uals -options'.

  -ls     Display filename(s) via 'ls -l'.
          Utilizes a call to system().

  -Loptions
          Display filename(s) via 'ls -options'.

  -l      Display filename(s) space separated vs. separate lines.

  -?      Display terse help message.


EXAMPLES

  For comparison purposes, whereis and which (IRIX):

   leinie: whereis cp
   cp: /bin/cp /usr/bin/cp /sbin/cp /usr/share/catman/u_man/cat1/cp.z
   leinie: which cp
   /sbin/cp

  All matches:

   leinie: uawhich cp
   /sbin/cp
   /usr/bin/cp
   /bin/cp

  First match:

   leinie: uawhich -f cp
   /sbin/cp

  Verbose:

   leinie: uawhich -v cp
   /usr/sbin             /cp ! No such file or directory
   /sbin/cp
   /usr/bsd              /cp ! No such file or directory
   /usr/bin/cp
   /bin/cp
   /usr/local/bin        /cp ! No such file or directory

  With -ls option:

   java: uawhich -ls cp
   -rwxr-xr-x   1 bin      bin        24576 Jul 24  1995 /usr/bin/cp
   -rwxr-xr-x   1 bin      bin       139264 Jul 24  1995 /sbin/cp

  For  comparison  (Digital UNIX), note which is broken for status and
  capturing program name:

   nugget: which X
   no X in /usr/bin /usr/sbin /sbin /usr/local/bin
   nugget: echo $?  # status should be 1, but isn't
   0
   nugget: xx='which X'
   nugget: echo $xx # note, it used stdout not stderr
   no X in /usr/bin /usr/sbin /sbin /usr/local/bin

  Better behaviour where status is non-zero and stdout is not used  if
  file not found in PATH:

   nugget: uawhich X
   nugget: echo $?  # status is actually non-zero
   1
   nugget: xx='uawhich X'
   nugget: echo $xx # and stdout is was null


NOTES

  uawhich  has  been tested under Digital UNIX, IRIX, and UNICOS[/mk].
  Suggestions for enhancements or  bug  reports  can  be  directed  to
  fnkac@uaf.edu.

  This  command  utilizes  the cci command parser utilized by non-UNIX
  operating systems instead of the traditional UNIX getopt()  parsing.
  Options have been defined to "look like" UNIX style options, but can
  be spelled out or generally abbreviated.  For example  '-v'  is  the
  same  as '-verbose'.  Because of this multiple options must be space
  separated and the hyphen is part of the option name.   Also  because
  of this order of options and arguments is irrelevant.

  Both the -uals and -ls option invoke via system() calls.


ACKNOWLEDGEMENTS

  Written at the University of Alaska.


RELATED INFORMATION

  Commands: whereis(1), which(1).  ksh(1,reference:whence).