1# Date: Fri, 11 Oct 91 11:22:36 edt 2# From: friedman@gnu.ai.mit.edu 3# To: bfox@gnu.ai.mit.edu 4 5# A replacement for basename(1). Not all the systems I use have this 6# program. Usage: basename [path] {extension} 7function basename () 8{ 9 local path="$1" 10 local suffix="$2" 11 local tpath="${path%/}" 12 13 # Strip trailing '/' characters from path (unusual that this should 14 # ever occur, but basename(1) seems to deal with it.) 15 while [ "${tpath}" != "${path}" ]; do 16 tpath="${path}" 17 path="${tpath%/}" 18 done 19 20 path="${path##*/}" # Strip off pathname 21 echo ${path%${suffix}} # Also strip off extension, if any. 22} 23 24