diff options
| author | Manuel Traut <manut@mecka.net> | 2011-04-29 09:09:27 +0200 |
|---|---|---|
| committer | Manuel Traut <manut@mecka.net> | 2011-04-29 09:09:27 +0200 |
| commit | 5238ad5a0c4a9e1c8cd036f5de4055e39bd71297 (patch) | |
| tree | 4407c087b9fb5432b1dc11e70b52dacfa0b99feb /beagle/debian-rfs/bin/which | |
| parent | 60ead65c41afba7e6aa4bbcf507a1d52f7a8fe9f (diff) | |
added debootstrap stuff
Signed-off-by: Manuel Traut <manut@mecka.net>
Diffstat (limited to 'beagle/debian-rfs/bin/which')
| -rwxr-xr-x | beagle/debian-rfs/bin/which | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/beagle/debian-rfs/bin/which b/beagle/debian-rfs/bin/which new file mode 100755 index 0000000..5b2329d --- /dev/null +++ b/beagle/debian-rfs/bin/which @@ -0,0 +1,63 @@ +#! /bin/sh +set -ef + +if test -n "$KSH_VERSION"; then + puts() { + print -r -- "$*" + } +else + puts() { + printf '%s\n' "$*" + } +fi + +ALLMATCHES=0 + +while getopts a whichopts +do + case "$whichopts" in + a) ALLMATCHES=1 ;; + ?) puts "Usage: $0 [-a] args"; exit 2 ;; + esac +done +shift $(($OPTIND - 1)) + +if [ "$#" -eq 0 ]; then + ALLRET=1 +else + ALLRET=0 +fi +case $PATH in + (*[!:]:) PATH="$PATH:" ;; +esac +for PROGRAM in "$@"; do + RET=1 + IFS_SAVE="$IFS" + IFS=: + case $PROGRAM in + */*) + if [ -f "$PROGRAM" ] && [ -x "$PROGRAM" ]; then + puts "$PROGRAM" + RET=0 + fi + ;; + *) + for ELEMENT in $PATH; do + if [ -z "$ELEMENT" ]; then + ELEMENT=. + fi + if [ -f "$ELEMENT/$PROGRAM" ] && [ -x "$ELEMENT/$PROGRAM" ]; then + puts "$ELEMENT/$PROGRAM" + RET=0 + [ "$ALLMATCHES" -eq 1 ] || break + fi + done + ;; + esac + IFS="$IFS_SAVE" + if [ "$RET" -ne 0 ]; then + ALLRET=1 + fi +done + +exit "$ALLRET" |
