#! /bin/sh # ############################################################################# NAME_="whichbin" HTML_="show links and path to executable" PURPOSE_="show links and path to executable" SYNOPSIS_="$NAME_ [-hl] [executable...]" REQUIRES_="standard GNU commands" VERSION_="1.0" DATE_="2004-07-11; last update: 2004-07-11" AUTHOR_="Dawid Michalczyk " URL_="www.comp.eonworks.com" CATEGORY_="sys" PLATFORM_="Linux" SHELL_="bash" DISTRIBUTE_="yes" # ############################################################################# # This program is distributed under the terms of the GNU General Public License usage () { echo >&2 "$NAME_ $VERSION_ - $PURPOSE_ Usage: $SYNOPSIS_ Requires: $REQUIRES_ Options: -h, usage and options (this help) -l, see this script" exit 1 } # args check [ $# -eq 0 ] && { echo >&2 missing argument, type $NAME_ -h for help; exit 1; } follow_link() { file=$(which $1) [ $? != 0 ] && { echo >&2 $1 not an executable ; exit 1; } if [ -L $file ];then echo symlink $file cd $(dirname $file) follow_link $(set -- $(ls -l $1); shift 10; echo $1) else ls -l $file fi } # arg handling and main execution case $1 in -h) usage ;; -l) more $0; exit 1 ;; *) # main execution for a in $@;do follow_link $a done ;; esac