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