home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / bbs / gnu / perl-4.036-src.lha / src / build / perl-4.036 / makedir < prev    next >
Encoding:
Text File  |  1993-09-28  |  1012 b   |  57 lines

  1. #!/bin/sh
  2. # : makedir.SH,v 120183736Revision: 4.0.1.1 120183736Date: 92/06/08 14:24:55 $
  3. # $Log:    makedir.SH,v $
  4. # Revision 4.0.1.1  92/06/08  14:24:55  lwall
  5. # patch20: SH files didn't work well with symbolic links
  6. # Revision 4.0  91/03/20  01:27:13  lwall
  7. # 4.0 baseline.
  8.  
  9. export PATH || (echo "OOPS, this isn't sh.  Desperation time.  I will feed myself to sh."; sh $0; kill $$)
  10.  
  11. case $# in
  12.   0)
  13.     /bin/echo "makedir pathname filenameflag"
  14.     exit 1
  15.     ;;
  16. esac
  17.  
  18. : guarantee one slash before 1st component
  19. case $1 in
  20.   /*) ;;
  21.   *)  set ./$1 $2 ;;
  22. esac
  23.  
  24. : strip last component if it is to be a filename
  25. case X$2 in
  26.   X1) set `/bin/echo $1 | /bin/sed 's:\(.*\)/[^/]*$:\1:'` ;;
  27.   *)  set $1 ;;
  28. esac
  29.  
  30. : return reasonable status if nothing to be created
  31. if test -d "$1" ; then
  32.     exit 0
  33. fi
  34.  
  35. list=''
  36. while true ; do
  37.     case $1 in
  38.     */*)
  39.     list="$1 $list"
  40.     set `echo $1 | /bin/sed 's:\(.*\)/:\1 :'`
  41.     ;;
  42.     *)
  43.     break
  44.     ;;
  45.     esac
  46. done
  47.  
  48. set $list
  49.  
  50. for dir do
  51.     /bin/mkdir $dir >/dev/null 2>&1
  52. done
  53.