home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Source / GNU / perl / Perl / makedir < prev    next >
Text File  |  1995-12-06  |  728b  |  49 lines

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