/[PAMELA software]/yoda/mkinstalldirs
ViewVC logotype

Annotation of /yoda/mkinstalldirs

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4.0 - (hide annotations) (download)
Sun Mar 6 04:33:01 2005 UTC (19 years, 9 months ago) by kusanagi
Branch: MAIN
CVS Tags: yodaPreTermistors2_1/00, YODA4_1/00, YODA4_0/04, YODA4_0/03, YODA4_0/02, YODA4_0/01, YODA4_3/02, YODA4_3/00, YODA4_3/01, YODA4_2/01, YODA4_2/00, YODA4_2/03, yodaPreTermistores2_0/00
Branch point for: PreThermistores2
Changes since 3.0: +0 -0 lines
Stable version 4.0 - 6 March 2005 - Maurizio Nagni

1 kusanagi 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     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

  ViewVC Help
Powered by ViewVC 1.1.23