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