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