Hex Artifact Content

Artifact b8a8609ff2e598e87048680d4a1529b9f9942115:


0000: 23 21 20 2f 62 69 6e 2f 73 68 0a 23 20 6d 6b 69  #! /bin/sh.# mki
0010: 6e 73 74 61 6c 6c 64 69 72 73 20 2d 2d 2d 20 6d  nstalldirs --- m
0020: 61 6b 65 20 64 69 72 65 63 74 6f 72 79 20 68 69  ake directory hi
0030: 65 72 61 72 63 68 79 0a 23 20 41 75 74 68 6f 72  erarchy.# Author
0040: 3a 20 4e 6f 61 68 20 46 72 69 65 64 6d 61 6e 20  : Noah Friedman 
0050: 3c 66 72 69 65 64 6d 61 6e 40 70 72 65 70 2e 61  <friedman@prep.a
0060: 69 2e 6d 69 74 2e 65 64 75 3e 0a 23 20 43 72 65  i.mit.edu>.# Cre
0070: 61 74 65 64 3a 20 31 39 39 33 2d 30 35 2d 31 36  ated: 1993-05-16
0080: 0a 23 20 50 75 62 6c 69 63 20 64 6f 6d 61 69 6e  .# Public domain
0090: 0a 0a 23 20 24 49 64 3a 20 6d 6b 69 6e 73 74 61  ..# $Id: mkinsta
00a0: 6c 6c 64 69 72 73 2c 76 20 31 2e 31 20 32 30 30  lldirs,v 1.1 200
00b0: 33 2f 30 35 2f 31 36 20 31 37 3a 33 33 3a 31 39  3/05/16 17:33:19
00c0: 20 72 61 7a 7a 65 6c 6c 20 45 78 70 20 24 0a 0a   razzell Exp $..
00d0: 65 72 72 73 74 61 74 75 73 3d 30 0a 0a 66 6f 72  errstatus=0..for
00e0: 20 66 69 6c 65 0a 64 6f 0a 20 20 20 73 65 74 20   file.do.   set 
00f0: 66 6e 6f 72 64 20 60 65 63 68 6f 20 22 3a 24 66  fnord `echo ":$f
0100: 69 6c 65 22 20 7c 20 73 65 64 20 2d 6e 65 20 27  ile" | sed -ne '
0110: 73 2f 5e 3a 5c 2f 2f 23 2f 3b 73 2f 5e 3a 2f 2f  s/^:\//#/;s/^://
0120: 3b 73 2f 5c 2f 2f 20 2f 67 3b 73 2f 5e 23 2f 5c  ;s/\// /g;s/^#/\
0130: 2f 2f 3b 70 27 60 0a 20 20 20 73 68 69 66 74 0a  //;p'`.   shift.
0140: 0a 20 20 20 70 61 74 68 63 6f 6d 70 3d 0a 20 20  .   pathcomp=.  
0150: 20 66 6f 72 20 64 0a 20 20 20 64 6f 0a 20 20 20   for d.   do.   
0160: 20 20 70 61 74 68 63 6f 6d 70 3d 22 24 70 61 74    pathcomp="$pat
0170: 68 63 6f 6d 70 24 64 22 0a 20 20 20 20 20 63 61  hcomp$d".     ca
0180: 73 65 20 22 24 70 61 74 68 63 6f 6d 70 22 20 69  se "$pathcomp" i
0190: 6e 0a 20 20 20 20 20 20 20 2d 2a 20 29 20 70 61  n.       -* ) pa
01a0: 74 68 63 6f 6d 70 3d 2e 2f 24 70 61 74 68 63 6f  thcomp=./$pathco
01b0: 6d 70 20 3b 3b 0a 20 20 20 20 20 65 73 61 63 0a  mp ;;.     esac.
01c0: 0a 20 20 20 20 20 69 66 20 74 65 73 74 20 21 20  .     if test ! 
01d0: 2d 64 20 22 24 70 61 74 68 63 6f 6d 70 22 3b 20  -d "$pathcomp"; 
01e0: 74 68 65 6e 0a 20 20 20 20 20 20 20 20 65 63 68  then.        ech
01f0: 6f 20 22 6d 6b 64 69 72 20 24 70 61 74 68 63 6f  o "mkdir $pathco
0200: 6d 70 22 0a 0a 20 20 20 20 20 20 20 20 6d 6b 64  mp"..        mkd
0210: 69 72 20 22 24 70 61 74 68 63 6f 6d 70 22 20 7c  ir "$pathcomp" |
0220: 7c 20 6c 61 73 74 65 72 72 3d 24 3f 0a 0a 20 20  | lasterr=$?..  
0230: 20 20 20 20 20 20 69 66 20 74 65 73 74 20 21 20        if test ! 
0240: 2d 64 20 22 24 70 61 74 68 63 6f 6d 70 22 3b 20  -d "$pathcomp"; 
0250: 74 68 65 6e 0a 20 20 09 20 20 65 72 72 73 74 61  then.  .  errsta
0260: 74 75 73 3d 24 6c 61 73 74 65 72 72 0a 20 20 20  tus=$lasterr.   
0270: 20 20 20 20 20 66 69 0a 20 20 20 20 20 66 69 0a       fi.     fi.
0280: 0a 20 20 20 20 20 70 61 74 68 63 6f 6d 70 3d 22  .     pathcomp="
0290: 24 70 61 74 68 63 6f 6d 70 2f 22 0a 20 20 20 64  $pathcomp/".   d
02a0: 6f 6e 65 0a 64 6f 6e 65 0a 0a 65 78 69 74 20 24  one.done..exit $
02b0: 65 72 72 73 74 61 74 75 73 0a 0a 23 20 6d 6b 69  errstatus..# mki
02c0: 6e 73 74 61 6c 6c 64 69 72 73 20 65 6e 64 73 20  nstalldirs ends 
02d0: 68 65 72 65 0a                                   here.