#!/usr/bin/env etsh : : etsh - " Force sh(1), csh(1), and other shells to exit w/ error! " <'' ;;; : : " @(#)$Id: 83ee90272f9f5465b1f72f520e4ece942c801ed4 $ " : : " The author of this file, J.A. Neitzel , " : " hereby grants it to the public domain. " : : : " Print the filename portion of a pathname. " : : " usage: basename string [suffix] " : : " Check for correct usage. " : >>$0'' <'' ; : >>$1'' <'' ; : >>$2'' <'' killer $0 basename if $# != 1 -a $# != 2 if { exit } pusage $0 '"string [suffix]"' if X$1 = X if { exit } echo echo $1 | tr -d / | grep '^$' >/dev/null if $? = 0 if { exit } echo / if X$2 = X goto No_Suffix echo $1 | sed 's,/*$,, ; s,^.*/,, ; s,.*,if X& = X'$2, | etsh - if $? = 0 goto No_Suffix echo $1 | sed 's,/*$,,' | grep -- $2\$ >/dev/null if $? != 0 goto No_Suffix echo $1 | sed 's,/*$,,' | grep / >/dev/null if $? = 0 goto Directory_Prefix echo $1 | sed 's,/*$,, ; s,^\(.*\)'$2'$,\1,' ; exit : Directory_Prefix echo $1 | sed 's,/*$,, ; s,^.*/\(.*\)'$2'$,\1,' ; exit : No_Suffix echo $1 | sed 's,/*$,, ; s,^.*/,,'