Patch-ID: bash40-021
[bash.git] / examples / functions / dirname
blobccb8c841bde583536e90000beecfd1b756455674
1 # Date: Fri, 11 Oct 91 11:22:36 edt
2 # From: friedman@gnu.ai.mit.edu
3 # To: bfox@gnu.ai.mit.edu
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]
8 function dirname ()
10  local dir="$1"
11  local tdir="${dir%/}"
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
20     echo "${dir%/*}"