File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / readline / support / mkinstalldirs
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Jul 30 08:16:46 2014 UTC (9 years, 11 months ago) by misho
Branches: readline, MAIN
CVS tags: v8_2p0, v8_1p0, v6_3p10_cross, v6_3p10, v6_3, p6, HEAD
readline 6.3

    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
   18:       exit 0
   19:       ;;
   20:     -m)                         # -m PERM arg
   21:       shift
   22:       test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
   23:       dirmode=$1
   24:       shift
   25:       ;;
   26:     --)                         # stop option processing
   27:       shift
   28:       break
   29:       ;;
   30:     -*)                         # unknown option
   31:       echo "$usage" 1>&2
   32:       exit 1
   33:       ;;
   34:     *)                          # first non-opt arg
   35:       break
   36:       ;;
   37:   esac
   38: done
   39: 
   40: for file
   41: do
   42:   if test -d "$file"; then
   43:     shift
   44:   else
   45:     break
   46:   fi
   47: done
   48: 
   49: case $# in
   50:   0) exit 0 ;;
   51: esac
   52: 
   53: case $dirmode in
   54:   '')
   55:     if mkdir -p -- . 2>/dev/null; then
   56:       echo "mkdir -p -- $*"
   57:       exec mkdir -p -- "$@"
   58:     fi
   59:     ;;
   60:   *)
   61:     if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
   62:       echo "mkdir -m $dirmode -p -- $*"
   63:       exec mkdir -m "$dirmode" -p -- "$@"
   64:     fi
   65:     ;;
   66: esac
   67: 
   68: for file
   69: do
   70:   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
   71:   shift
   72: 
   73:   pathcomp=
   74:   for d
   75:   do
   76:     pathcomp="$pathcomp$d"
   77:     case $pathcomp in
   78:       -*) pathcomp=./$pathcomp ;;
   79:     esac
   80: 
   81:     if test ! -d "$pathcomp"; then
   82:       echo "mkdir $pathcomp"
   83: 
   84:       mkdir "$pathcomp" || lasterr=$?
   85: 
   86:       if test ! -d "$pathcomp"; then
   87:   	errstatus=$lasterr
   88:       else
   89:   	if test ! -z "$dirmode"; then
   90: 	  echo "chmod $dirmode $pathcomp"
   91:     	  lasterr=""
   92:   	  chmod "$dirmode" "$pathcomp" || lasterr=$?
   93: 
   94:   	  if test ! -z "$lasterr"; then
   95:   	    errstatus=$lasterr
   96:   	  fi
   97:   	fi
   98:       fi
   99:     fi
  100: 
  101:     pathcomp="$pathcomp/"
  102:   done
  103: done
  104: 
  105: exit $errstatus
  106: 
  107: # Local Variables:
  108: # mode: shell-script
  109: # sh-indentation: 2
  110: # End:
  111: # mkinstalldirs ends here

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>