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 dirname(1).  This one appears less often on some
6# systems I use than basename(1), and I really depend on it for some
7# things.  Usage: dirname [path]
8function dirname ()
9{
10 local dir="$1"
11 local tdir="${dir%/}"
12
13    # Strip trailing '/' characters from dir (unusual that this should
14    # ever occur, but dirname(1) seems to deal with it.)
15    while [ "${tdir}" != "${dir}" ]; do
16       tdir="${dir}"
17       dir="${tdir%/}"
18    done
19
20    echo "${dir%/*}"
21}
22