> "which" isn't portable. On SunOS 5.9 "which foo" prints error message to > stdout and returns 0. I use this in my own configure scripts: > > path_find() > { > if test -x "$1" > then > echo "$1" > return 0 > fi > for i in `echo $PATH | sed 's/:/ /g'` > do > if test -x "$i/$1" > then > echo "$i/$1" > return 0 > fi > done > return 1 > } This will not work with spaces in $PATH. I'd do something like this if cut is portable (I have only freebsd and linux to test): path_find() { path="$PATH" while [ "$path" != "" ]; do p="`echo $path | cut -d : -f 1`" if [ "$p" = "$path" ]; then path="" else path="`echo $path | cut -d : -f 2-`" fi if [ -x "$p/$1" ]; then echo "$p/$1" return 0 fi done return 1 } Is there any reason to check the current directory first? "which" doesn't do it for me and without ./ in the front it does not work (without . is not in $PATH). - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html