X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~cjwatson/git?a=blobdiff_plain;f=pwhich;h=262dc838553b1a370621ce1443330718f0736182;hb=0b942b568b5b6609aaa2ee4145d5633e662c91ea;hp=807880c76989e550dbad70d91465b74931e34960;hpb=ba69c14813b37c000e1d55aa3c1fbdd288e2ca19;p=bin.git diff --git a/pwhich b/pwhich index 807880c..262dc83 100755 --- a/pwhich +++ b/pwhich @@ -5,13 +5,26 @@ RET=1 for PROGRAM in "$@"; do IFS_SAVE="$IFS" IFS=: - for ELEMENT in $PATH; do - if [ -f "$ELEMENT/$PROGRAM" ] && [ -x "$ELEMENT/$PROGRAM" ]; then - echo "$ELEMENT/$PROGRAM" - RET=0 - break - fi - done + case $PROGRAM in + */*) + if [ -f "$PROGRAM" ] && [ -x "$PROGRAM" ]; then + printf '%s\n' "$PROGRAM" + RET=0 + fi + ;; + *) + for ELEMENT in $PATH; do + if [ -z "$ELEMENT" ]; then + ELEMENT=. + fi + if [ -f "$ELEMENT/$PROGRAM" ] && [ -x "$ELEMENT/$PROGRAM" ]; then + printf '%s\n' "$ELEMENT/$PROGRAM" + RET=0 + break + fi + done + ;; + esac IFS="$IFS_SAVE" done