From a251cf1721b6cfcca8f8d8bcf357118f97d0e41d Mon Sep 17 00:00:00 2001 From: sof Date: Sun, 18 May 1997 03:52:42 +0000 Subject: [PATCH] [project @ 1997-05-18 03:52:42 by sof] Fixed up --- glafp-utils/mkdirhier/mkdirhier.sh | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/glafp-utils/mkdirhier/mkdirhier.sh b/glafp-utils/mkdirhier/mkdirhier.sh index 739535e..3ae24b3 100644 --- a/glafp-utils/mkdirhier/mkdirhier.sh +++ b/glafp-utils/mkdirhier/mkdirhier.sh @@ -1,24 +1,34 @@ #!/bin/sh # -# create a heirarchy of directories +# create a hierarchy of directories # +# Based on Noah Friedman's mkinstalldirs.. +# +errs=0 for f in $*; do - parts=`echo $f | sed 's,\(.\)/\(.\),\1 \2,g' | sed 's,/$,,'`; + parts=`echo ":$f" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` path=""; for p in $parts; do - if [ x"$path" = x ]; then - dir=$p; - else - dir=$path/$p; - fi; - if [ ! -d $dir ]; then - echo mkdir $dir; - mkdir $dir; - chmod a+rx $dir; - fi; - path=$dir; + path="$path$p" + case "$path" in + -* ) path=./$path ;; + esac + + if test ! -d "$path"; then + echo "mkdir $path" 1>&2 + + mkdir "$path" || lasterr=$? + + if test ! -d "$path"; then + errs=$lasterr + fi + fi + path="$path/"; done; done +exit $errs + +# end of story -- 1.7.10.4