source: vendor/bash/3.1-p17/examples/functions/basename

Last change on this file was 3228, checked in by bird, 18 years ago

bash 3.1

File size: 645 bytes
Line 
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
Note: See TracBrowser for help on using the repository browser.