Annotation of embedaddon/coova-chilli/mkinstalldirs, revision 1.1
1.1 ! misho 1: #! /bin/sh
! 2: # mkinstalldirs --- make directory hierarchy
! 3: # Author: Noah Friedman <friedman@prep.ai.mit.edu>
! 4: # Created: 1993-05-16
! 5: # Public domain
! 6:
! 7: errstatus=0
! 8: dirmode=""
! 9:
! 10: usage="\
! 11: Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
! 12:
! 13: # process command line arguments
! 14: while test $# -gt 0 ; do
! 15: case "${1}" in
! 16: -h | --help | --h* ) # -h for help
! 17: echo "${usage}" 1>&2; exit 0 ;;
! 18: -m ) # -m PERM arg
! 19: shift
! 20: test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
! 21: dirmode="${1}"
! 22: shift ;;
! 23: -- ) shift; break ;; # stop option processing
! 24: -* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option
! 25: * ) break ;; # first non-opt arg
! 26: esac
! 27: done
! 28:
! 29: for file
! 30: do
! 31: if test -d "$file"; then
! 32: shift
! 33: else
! 34: break
! 35: fi
! 36: done
! 37:
! 38: case $# in
! 39: 0) exit 0 ;;
! 40: esac
! 41:
! 42: case $dirmode in
! 43: '')
! 44: if mkdir -p -- . 2>/dev/null; then
! 45: echo "mkdir -p -- $*"
! 46: exec mkdir -p -- "$@"
! 47: fi ;;
! 48: *)
! 49: if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
! 50: echo "mkdir -m $dirmode -p -- $*"
! 51: exec mkdir -m "$dirmode" -p -- "$@"
! 52: fi ;;
! 53: esac
! 54:
! 55: for file
! 56: do
! 57: set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
! 58: shift
! 59:
! 60: pathcomp=
! 61: for d
! 62: do
! 63: pathcomp="$pathcomp$d"
! 64: case "$pathcomp" in
! 65: -* ) pathcomp=./$pathcomp ;;
! 66: esac
! 67:
! 68: if test ! -d "$pathcomp"; then
! 69: echo "mkdir $pathcomp"
! 70:
! 71: mkdir "$pathcomp" || lasterr=$?
! 72:
! 73: if test ! -d "$pathcomp"; then
! 74: errstatus=$lasterr
! 75: else
! 76: if test ! -z "$dirmode"; then
! 77: echo "chmod $dirmode $pathcomp"
! 78:
! 79: lasterr=""
! 80: chmod "$dirmode" "$pathcomp" || lasterr=$?
! 81:
! 82: if test ! -z "$lasterr"; then
! 83: errstatus=$lasterr
! 84: fi
! 85: fi
! 86: fi
! 87: fi
! 88:
! 89: pathcomp="$pathcomp/"
! 90: done
! 91: done
! 92:
! 93: exit $errstatus
! 94:
! 95: # Local Variables:
! 96: # mode: shell-script
! 97: # sh-indentation: 3
! 98: # End:
! 99: # mkinstalldirs ends here
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>