#!/bin/sh # # # Author: Bernhard Kuehl # Universitaet Osnabrueck # Wed Jun 11 11:16:26 MET DST 1997 # File: which # Description: # Nachbau des Kommandos which # # ohne Argumente exit [ $# = 0 ] && exit 0 # alle Eintraege des Typs aktueller Katalog durch . ersetzen NEWPATH=`echo $PATH | \ sed -e 's/^:/.:/' -e 's/:$/:./' -e 's/::/:.:/' 2>/dev/null` # Internal Field Seperator auf : setzen IFS=: # kein Ersatz von * und ? set -f # Ein Aufruf 'which ls echo cat' ist erlaubt for j in "$@" do for i in $NEWPATH # den Pfad absuchen do if [ -x $i/$j -a ! -d $i/$j ] # ausfuehrbar und kein Katalog then echo $i/$j continue 2 # naechstes Argument fi if [ -d $i/$j.app -a -x $i/$j.app/$j ] # NeXTApps,... auch absuchen then echo $i/$j.app/$j continue 2 fi done echo no $j in $PATH # nichts gefunden done exit 0