home *** CD-ROM | disk | FTP | other *** search
/ The UNIX CD Bookshelf / OREILLY_TUCB_UNIX_CD.iso / upt / examples / LINUX / ARCHIVE / WHEREIZ.Z / WHEREIZ / sbin / whereiz
Encoding:
Text File  |  1993-01-01  |  906 b   |  34 lines

  1. #! /bin/sh
  2. #
  3. ###    whereiz - find full pathnames of command(s) in your $PATH
  4. ###    Usage: whereiz command [commands...]
  5. ##
  6. ##  whereiz LOOKS IN EACH DIRECTORY IN YOUR $PATH (COMMAND SEARCH PATH)
  7. ##  FOR EXECUTABLE FILE(S) WHOSE NAME(S) YOU SPECIFY.  IF IT FINDS THE
  8. ##  FILE, IT RETURNS THE FILE'S FULL PATHNAME.  IF IT DOESN'T, whereiz
  9. ##  RETURNS NOTHING.
  10.  
  11. # COMMAND THAT TESTS FOR EXECUTABLE FILES... EITHER "test -x" or "testx":
  12. testx="test -x"
  13.  
  14. # REPLACE NULL FIELD IN $PATH WITH A .:
  15. fixpath="`echo $PATH | sed \
  16.     -e 's/^:/.:/' \
  17.     -e 's/::/:.:/g' \
  18.     -e 's/:$/:./'`"
  19.  
  20. IFS=":     "        # SET $IFS (COLON, SPACE, TAB) FOR PARSING $PATH
  21. for command
  22. do
  23.     where=""            # ZERO OUT $where
  24.  
  25.     # IF DIRECTORY HAS EXECUTABLE FILE, ADD IT TO LIST:    
  26.     for direc in $fixpath
  27.     do $testx $direc/$command && where="$where $direc/$command"    
  28.     done
  29.     
  30.     case "$where" in
  31.     ?*)    echo $where    ;;    # IF CONTAINS SOMETHING, OUTPUT IT
  32.     esac
  33. done
  34.