Annotation of embedaddon/sudo/mkinstalldirs, revision 1.1.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: umask 022
                      8: errstatus=0
                      9: dirmode=""
                     10: 
                     11: usage="\
                     12: Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
                     13: 
                     14: # process command line arguments
                     15: while test $# -gt 0 ; do
                     16:   case $1 in
                     17:     -h | --help | --h*)         # -h for help
                     18:       echo "$usage" 1>&2
                     19:       exit 0
                     20:       ;;
                     21:     -m)                         # -m PERM arg
                     22:       shift
                     23:       test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
                     24:       dirmode=$1
                     25:       shift
                     26:       ;;
                     27:     --)                         # stop option processing
                     28:       shift
                     29:       break
                     30:       ;;
                     31:     -*)                         # unknown option
                     32:       echo "$usage" 1>&2
                     33:       exit 1
                     34:       ;;
                     35:     *)                          # first non-opt arg
                     36:       break
                     37:       ;;
                     38:   esac
                     39: done
                     40: 
                     41: for file
                     42: do
                     43:   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
                     44:   shift
                     45: 
                     46:   pathcomp=
                     47:   for d
                     48:   do
                     49:     pathcomp="$pathcomp$d"
                     50:     case $pathcomp in
                     51:       -*) pathcomp=./$pathcomp ;;
                     52:     esac
                     53: 
                     54:     if test ! -d "$pathcomp"; then
                     55:       echo "mkdir $pathcomp"
                     56: 
                     57:       mkdir "$pathcomp" || lasterr=$?
                     58: 
                     59:       if test ! -d "$pathcomp"; then
                     60:        errstatus=$lasterr
                     61:       else
                     62:        if test ! -z "$dirmode"; then
                     63:          echo "chmod $dirmode $pathcomp"
                     64:          lasterr=""
                     65:          chmod "$dirmode" "$pathcomp" || lasterr=$?
                     66: 
                     67:          if test ! -z "$lasterr"; then
                     68:            errstatus=$lasterr
                     69:          fi
                     70:        fi
                     71:       fi
                     72:     fi
                     73: 
                     74:     pathcomp="$pathcomp/"
                     75:   done
                     76: done
                     77: 
                     78: exit $errstatus
                     79: 
                     80: # Local Variables:
                     81: # mode: shell-script
                     82: # sh-indentation: 2
                     83: # End:
                     84: # mkinstalldirs ends here

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