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..ab760230ba --- /dev/null +++ b/makedir @@ -0,0 +1,58 @@ +#!/bin/sh +# $Header: makedir.SH,v 1.0 87/12/18 13:05:32 root Exp $ +# +# $Log: makedir.SH,v $ +# Revision 1.0 87/12/18 13:05:32 root +# Initial revision +# +# Revision 4.3.1.1 85/05/10 11:35:14 lwall +# Branch for patches. +# +# Revision 4.3 85/05/01 11:42:31 lwall +# Baseline for release with 4.3bsd. +# + +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 |