home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume27 / mthreads / part01 / makedir.SH < prev    next >
Encoding:
Text File  |  1993-11-20  |  1.1 KB  |  61 lines

  1. case $CONFIG in
  2. '') . ./config.sh ;;
  3. esac
  4. echo "Extracting makedir (with variable substitutions)"
  5. $spitshell >makedir <<!GROK!THIS!
  6. $startsh
  7. # $Id: makedir.SH,v 2.11 90/09/17 17:03:55 hokey Exp Locker: hokey $
  8. # $Log:    makedir.SH,v $
  9. # Revision 2.11  90/09/17  17:03:55  hokey
  10. # 2.11 alpha baseline
  11.  
  12. export PATH || (echo "OOPS, this isn't sh.  Desperation time.  I will feed myself to sh."; sh \$0; kill \$\$)
  13.  
  14. case \$# in
  15.   0)
  16.     $echo "makedir pathname filenameflag"
  17.     exit 1
  18.     ;;
  19. esac
  20.  
  21. : guarantee one slash before 1st component
  22. case \$1 in
  23.   /*) ;;
  24.   *)  set ./\$1 \$2 ;;
  25. esac
  26.  
  27. : strip last component if it is to be a filename
  28. case X\$2 in
  29.   X1) set \`$echo \$1 | $sed 's:\(.*\)/[^/]*\$:\1:'\` ;;
  30.   *)  set \$1 ;;
  31. esac
  32.  
  33. : return reasonable status if nothing to be created
  34. if $test -d "\$1" ; then
  35.     exit 0
  36. fi
  37.  
  38. list=''
  39. while true ; do
  40.     case \$1 in
  41.     */*)
  42.     list="\$1 \$list"
  43.     set \`echo \$1 | $sed 's:\(.*\)/:\1 :'\`
  44.     ;;
  45.     *)
  46.     break
  47.     ;;
  48.     esac
  49. done
  50.  
  51. set \$list
  52.  
  53. for dir do
  54.     $mkdir \$dir >/dev/null 2>&1
  55. done
  56. !GROK!THIS!
  57. $eunicefix makedir
  58. chmod +x makedir
  59.