#!/bin/sh # Make directory hierarchy. # Written by Noah Friedman # Public domain. defaultIFS=' ' IFS="${IFS-${defaultIFS}}" errstatus=0 # Test mkdir -p mkdir -p .test-mkdir || errstatus=$? rmdir .test-mkdir if test $errstatus != 0 -o -d "-p"; then if test -d "-p"; then rmdir -p fi MKDIR="mkdir" else MKDIR="mkdir -p" fi for file in ${1+"$@"} ; do oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${file} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' for d in ${1+"$@"} ; do pathcomp="${pathcomp}${d}" if test ! -d "${pathcomp}"; then echo "$MKDIR $pathcomp" 1>&2 $MKDIR "${pathcomp}" || errstatus=$? fi pathcomp="${pathcomp}/" done done exit $errstatus # eof