I've had this floating around in my .bash_aliases file for

aeons.  Of course I use zsh now and it has whence built in (and is

much cool to boot).

#

# An almost-ksh compatible `whence' command.  This is as hairy as it is 

# because of the desire to exactly mimic ksh.



# This depends somewhat on knowing the format of the output of the bash

# `builtin type' command.

#

# Chet Ramey

# ">chet@ins.CWRU.Edu

#

whence()

{

        local vflag

        local path

        vflag=

        path=

        if [ "$#" = "0" ] ; then

                echo "whence: argument expected"

                return 1

        fi

        case "$1" in

                -v) vflag=1

                    shift 1

                    ;;

                -*) echo "whence: bad option: $1"

                    return 1

                    ;;

                 *) ;;

        esac

        if [ "$#" = "0" ] ; then

                echo "whence: bad argument count"

                return 1

        fi

        for cmd

        do

                if [ "$vflag" ]  ; then

                        echo $(builtin type $cmd | sed 1q)

                else

                        path=$(builtin type -path $cmd)

                        if [ "$path" ] ; then

                                echo $path

                        else

                                case "$cmd" in

                                        /*) echo ""

                                            ;;

                                         *) case "$(builtin type -type $cmd)" in

                                                "") echo ""

                                                    ;;

                                                 *) echo "$cmd"

                                                    ;;

                                            esac

                                            ;;

                                esac

                        fi

                fi

        done

        return 0

}


-- 
Fletch                | "If you find my answers frightening,       __`'/|
">fletch@phydeaux.org   |  Vincent, you should cease askin'          \ o.O'
678 443-6239(w)       |  scary questions." -- Jules                =(___)=
                      |                                               U
--
To unsubscribe: mail ">majordomo@ale.org with "unsubscribe ale" in message body.