File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / dhcping / mkinstalldirs
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 22:27:53 2012 UTC (12 years, 3 months ago) by misho
Branches: dhcping, MAIN
CVS tags: v1_2, HEAD
dhcping

    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.1.1.1 2012/02/21 22:27:53 misho 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:    set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
   34:    shift
   35: 
   36:    pathcomp=
   37:    for d
   38:    do
   39:      pathcomp="$pathcomp$d"
   40:      case "$pathcomp" in
   41:        -* ) pathcomp=./$pathcomp ;;
   42:      esac
   43: 
   44:      if test ! -d "$pathcomp"; then
   45:         echo "mkdir $pathcomp"
   46: 
   47:         mkdir "$pathcomp" || lasterr=$?
   48: 
   49:         if test ! -d "$pathcomp"; then
   50:   	  errstatus=$lasterr
   51: 	else
   52: 	  if test ! -z "$dirmode"; then
   53: 	     echo "chmod $dirmode $pathcomp"
   54: 
   55: 	     lasterr=""
   56: 	     chmod $dirmode "$pathcomp" || lasterr=$?
   57: 
   58: 	     if test ! -z "$lasterr"; then
   59: 	       errstatus=$lasterr
   60: 	     fi
   61: 	  fi
   62:         fi
   63:      fi
   64: 
   65:      pathcomp="$pathcomp/"
   66:    done
   67: done
   68: 
   69: exit $errstatus
   70: 
   71: # Local Variables:
   72: # mode:shell-script
   73: # sh-indentation:3
   74: # End:

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