Jari Aalto | 726f638 | 1996-08-26 18:22:31 +0000 | [diff] [blame] | 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] |
| 8 | function 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 | } |