Annotation of embedaddon/sudo/mkinstalldirs, revision 1.1.1.1
1.1 misho 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: umask 022
8: errstatus=0
9: dirmode=""
10:
11: usage="\
12: Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
13:
14: # process command line arguments
15: while test $# -gt 0 ; do
16: case $1 in
17: -h | --help | --h*) # -h for help
18: echo "$usage" 1>&2
19: exit 0
20: ;;
21: -m) # -m PERM arg
22: shift
23: test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
24: dirmode=$1
25: shift
26: ;;
27: --) # stop option processing
28: shift
29: break
30: ;;
31: -*) # unknown option
32: echo "$usage" 1>&2
33: exit 1
34: ;;
35: *) # first non-opt arg
36: break
37: ;;
38: esac
39: done
40:
41: for file
42: do
43: set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
44: shift
45:
46: pathcomp=
47: for d
48: do
49: pathcomp="$pathcomp$d"
50: case $pathcomp in
51: -*) pathcomp=./$pathcomp ;;
52: esac
53:
54: if test ! -d "$pathcomp"; then
55: echo "mkdir $pathcomp"
56:
57: mkdir "$pathcomp" || lasterr=$?
58:
59: if test ! -d "$pathcomp"; then
60: errstatus=$lasterr
61: else
62: if test ! -z "$dirmode"; then
63: echo "chmod $dirmode $pathcomp"
64: lasterr=""
65: chmod "$dirmode" "$pathcomp" || lasterr=$?
66:
67: if test ! -z "$lasterr"; then
68: errstatus=$lasterr
69: fi
70: fi
71: fi
72: fi
73:
74: pathcomp="$pathcomp/"
75: done
76: done
77:
78: exit $errstatus
79:
80: # Local Variables:
81: # mode: shell-script
82: # sh-indentation: 2
83: # End:
84: # mkinstalldirs ends here
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>