Develop and Download Open Source Software

Browse CVS Repository

Annotation of /malonnote/mkinstalldirs

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Thu Jul 28 03:25:05 2005 UTC (18 years, 7 months ago) by maloninc
Branch point for: vendor, MAIN
Initial revision

1 maloninc 1.1 #! /bin/sh
2     # mkinstalldirs --- make directory hierarchy
3     # Author: Noah Friedman <friedman@prep.ai.mit.edu>
4     # Created: 1993-05-16
5     # Public domain
6    
7     # $Id$
8    
9     errstatus=0
10     dirmode=""
11    
12     usage="\
13     Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
14    
15     # process command line arguments
16     while test $# -gt 0 ; do
17     case "${1}" in
18     -h | --help | --h* ) # -h for help
19     echo "${usage}" 1>&2; exit 0 ;;
20     -m ) # -m PERM arg
21     shift
22     test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
23     dirmode="${1}"
24     shift ;;
25     -- ) shift; break ;; # stop option processing
26     -* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option
27     * ) break ;; # first non-opt arg
28     esac
29     done
30    
31     for file
32     do
33     if test -d "$file"; then
34     shift
35     else
36     break
37     fi
38     done
39    
40     case $# in
41     0) exit 0 ;;
42     esac
43    
44     case $dirmode in
45     '')
46     if mkdir -p -- . 2>/dev/null; then
47     echo "mkdir -p -- $*"
48     exec mkdir -p -- "$@"
49     fi ;;
50     *)
51     if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
52     echo "mkdir -m $dirmode -p -- $*"
53     exec mkdir -m "$dirmode" -p -- "$@"
54     fi ;;
55     esac
56    
57     for file
58     do
59     set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
60     shift
61    
62     pathcomp=
63     for d
64     do
65     pathcomp="$pathcomp$d"
66     case "$pathcomp" in
67     -* ) pathcomp=./$pathcomp ;;
68     esac
69    
70     if test ! -d "$pathcomp"; then
71     echo "mkdir $pathcomp"
72    
73     mkdir "$pathcomp" || lasterr=$?
74    
75     if test ! -d "$pathcomp"; then
76     errstatus=$lasterr
77     else
78     if test ! -z "$dirmode"; then
79     echo "chmod $dirmode $pathcomp"
80    
81     lasterr=""
82     chmod "$dirmode" "$pathcomp" || lasterr=$?
83    
84     if test ! -z "$lasterr"; then
85     errstatus=$lasterr
86     fi
87     fi
88     fi
89     fi
90    
91     pathcomp="$pathcomp/"
92     done
93     done
94    
95     exit $errstatus
96    
97     # Local Variables:
98     # mode: shell-script
99     # sh-indentation: 3
100     # End:
101     # mkinstalldirs ends here

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26