home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume23 / trn / part14 / makedir.SH < prev    next >
Encoding:
Text File  |  1991-08-22  |  1.2 KB  |  67 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. # $Header: makedir.SH,v 4.3.3.1 91/01/16 02:48:09 davison Trn $
  8. # $Log:    makedir.SH,v $
  9. # Revision 4.3.3.1  91/01/16  02:48:09  davison
  10. # Integrated rn patches 48-54.
  11. # Revision 4.3.2.1  90/11/22  14:02:49  sob
  12. # changes . config.sh to . ./config.sh
  13. # Revision 4.3  85/05/01  11:42:31  lwall
  14. # Baseline for release with 4.3bsd.
  15.  
  16. export PATH || (echo "OOPS, this isn't sh.  Desperation time.  I will feed myself to sh."; sh \$0; kill \$\$)
  17.  
  18. case \$# in
  19.   0)
  20.     $echo "makedir pathname filenameflag"
  21.     exit 1
  22.     ;;
  23. esac
  24.  
  25. : guarantee one slash before 1st component
  26. case \$1 in
  27.   /*) ;;
  28.   *)  set ./\$1 \$2 ;;
  29. esac
  30.  
  31. : strip last component if it is to be a filename
  32. case X\$2 in
  33.   X1) set \`$echo \$1 | $sed 's:\(.*\)/[^/]*\$:\1:'\` ;;
  34.   *)  set \$1 ;;
  35. esac
  36.  
  37. : return reasonable status if nothing to be created
  38. if $test -d "\$1" ; then
  39.     exit 0
  40. fi
  41.  
  42. list=''
  43. while true ; do
  44.     case \$1 in
  45.     */*)
  46.     list="\$1 \$list"
  47.     set \`echo \$1 | $sed 's:\(.*\)/:\1 :'\`
  48.     ;;
  49.     *)
  50.     break
  51.     ;;
  52.     esac
  53. done
  54.  
  55. set \$list
  56.  
  57. for dir do
  58.     $mkdir \$dir >/dev/null 2>&1
  59. done
  60. !GROK!THIS!
  61. $eunicefix makedir
  62. chmod 755 makedir
  63.