diff options
Diffstat (limited to 'makedir')
-rwxr-xr-x | makedir | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/makedir b/makedir new file mode 100755 index 0000000000..51986a8a2d --- /dev/null +++ b/makedir @@ -0,0 +1,58 @@ +#!/bin/sh +# : makedir.SH,v 15738Revision: 4.1 15738Date: 92/08/07 18:24:23 $ +# +# $Log: makedir.SH,v $ +# Revision 4.1 92/08/07 18:24:23 lwall +# +# Revision 4.0.1.1 92/06/08 14:24:55 lwall +# patch20: SH files didn't work well with symbolic links +# +# Revision 4.0 91/03/20 01:27:13 lwall +# 4.0 baseline. +# +# + +export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0; kill $$) + +case $# in + 0) + /bin/echo "makedir pathname filenameflag" + exit 1 + ;; +esac + +: guarantee one slash before 1st component +case $1 in + /*) ;; + *) set ./$1 $2 ;; +esac + +: strip last component if it is to be a filename +case X$2 in + X1) set `/bin/echo $1 | /bin/sed 's:\(.*\)/[^/]*$:\1:'` ;; + *) set $1 ;; +esac + +: return reasonable status if nothing to be created +if test -d "$1" ; then + exit 0 +fi + +list='' +while true ; do + case $1 in + */*) + list="$1 $list" + set `echo $1 | /bin/sed 's:\(.*\)/:\1 :'` + ;; + *) + break + ;; + esac +done + +set $list + +for dir do + /bin/mkdir $dir >/dev/null 2>&1 +done |