X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~cjwatson/git?a=blobdiff_plain;f=pwhich;h=30d4c67cc8c724a9e483235b5b0e77c90390f087;hb=d4b1b0c18521d57183d981831661879bc6d60aee;hp=47aa80cbad326c2c5d404769188de1d5c873aded;hpb=34500422176ed9e2ffee4da59fb77f4a73ea0fab;p=bin.git diff --git a/pwhich b/pwhich index 47aa80c..30d4c67 100755 --- a/pwhich +++ b/pwhich @@ -1,16 +1,27 @@ -#! /bin/sh -e +#! /bin/sh +set -e RET=1 for PROGRAM in "$@"; do IFS_SAVE="$IFS" IFS=: - for ELEMENT in $PATH; do - if [ -f "$ELEMENT/$PROGRAM" -a -x "$ELEMENT/$PROGRAM" ]; then - echo "$ELEMENT/$PROGRAM" - RET=0 - break - fi - done + case $PROGRAM in + */*) + if [ -x "$PROGRAM" ]; then + printf '%s\n' "$PROGRAM" + RET=0 + fi + ;; + *) + for ELEMENT in $PATH; do + if [ -x "$ELEMENT/$PROGRAM" ]; then + printf '%s\n' "$ELEMENT/$PROGRAM" + RET=0 + break + fi + done + ;; + esac IFS="$IFS_SAVE" done