Skip to content
This repository was archived by the owner on Nov 3, 2023. It is now read-only.

Commit 927316d

Browse files
committed
Add
svn path=/trunk/mono-basic/; revision=70932
1 parent 944d939 commit 927316d

File tree

1 file changed

+99
-0
lines changed

1 file changed

+99
-0
lines changed

mkinstalldirs

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
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

0 commit comments

Comments
 (0)