# # An almost-ksh compatible `whence' command. The one difference between this # and the real ksh `whence' is that this version, when the "-v" flag is not # given and presented with something that is not in the path, simply echos it # without more checking to see if it is a function, builtin, or alias. # # 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 "" ;; *) echo "$cmd" ;; esac fi fi done return 0 }