| # Date: Fri, 11 Oct 91 11:22:36 edt |
| # From: friedman@gnu.ai.mit.edu |
| # To: bfox@gnu.ai.mit.edu |
| |
| # A replacement for basename(1). Not all the systems I use have this |
| # program. Usage: basename [path] {extension} |
| function basename () |
| { |
| local path="$1" |
| local suffix="$2" |
| local tpath="${path%/}" |
| |
| # Strip trailing '/' characters from path (unusual that this should |
| # ever occur, but basename(1) seems to deal with it.) |
| while [ "${tpath}" != "${path}" ]; do |
| tpath="${path}" |
| path="${tpath%/}" |
| done |
| |
| path="${path##*/}" # Strip off pathname |
| echo ${path%${suffix}} # Also strip off extension, if any. |
| } |
| |