| # Date: Fri, 11 Oct 91 11:22:36 edt |
| # From: friedman@gnu.ai.mit.edu |
| # To: bfox@gnu.ai.mit.edu |
| |
| # A replacement for dirname(1). This one appears less often on some |
| # systems I use than basename(1), and I really depend on it for some |
| # things. Usage: dirname [path] |
| function dirname () |
| { |
| local dir="$1" |
| local tdir="${dir%/}" |
| |
| # Strip trailing '/' characters from dir (unusual that this should |
| # ever occur, but dirname(1) seems to deal with it.) |
| while [ "${tdir}" != "${dir}" ]; do |
| tdir="${dir}" |
| dir="${tdir%/}" |
| done |
| |
| echo "${dir%/*}" |
| } |