Page Menu
Home
GnuPG
Search
Configure Global Search
Log In
Files
F18825148
mkinstalldirs
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Size
1 KB
Subscribers
None
mkinstalldirs
View Options
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain
errstatus
=
0
dirmode
=
""
usage
=
"\
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
# process command line arguments
while
test
$#
-gt
0
;
do
case
$1
in
-h
|
--help
|
--h*
)
# -h for help
echo
"
$usage
"
1
>
&
2
exit
0
;;
-m
)
# -m PERM arg
shift
test
$#
-eq
0
&&
{
echo
"
$usage
"
1
>
&
2
;
exit
1
;
}
dirmode
=
$1
shift
;;
--
)
# stop option processing
shift
break
;;
-*
)
# unknown option
echo
"
$usage
"
1
>
&
2
exit
1
;;
*
)
# first non-opt arg
break
;;
esac
done
for
file
do
if
test
-d
"
$file
"
;
then
shift
else
break
fi
done
case
$#
in
0
)
exit
0
;;
esac
case
$dirmode
in
''
)
if
mkdir -p -- .
2
>/dev/null
;
then
echo
"mkdir -p --
$*
"
exec
mkdir -p --
"
$@
"
fi
;;
*
)
if
mkdir -m
"
$dirmode
"
-p -- .
2
>/dev/null
;
then
echo
"mkdir -m
$dirmode
-p --
$*
"
exec
mkdir -m
"
$dirmode
"
-p --
"
$@
"
fi
;;
esac
for
file
do
set
fnord
`
echo
":
$file
"
|
sed -ne
's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'
`
shift
pathcomp
=
for
d
do
pathcomp
=
"
$pathcomp$d
"
case
$pathcomp
in
-*
)
pathcomp
=
./
$pathcomp
;;
esac
if
test
! -d
"
$pathcomp
"
;
then
echo
"mkdir
$pathcomp
"
mkdir
"
$pathcomp
"
||
lasterr
=
$?
if
test
! -d
"
$pathcomp
"
;
then
errstatus
=
$lasterr
else
if
test
! -z
"
$dirmode
"
;
then
echo
"chmod
$dirmode
$pathcomp
"
lasterr
=
""
chmod
"
$dirmode
"
"
$pathcomp
"
||
lasterr
=
$?
if
test
! -z
"
$lasterr
"
;
then
errstatus
=
$lasterr
fi
fi
fi
fi
pathcomp
=
"
$pathcomp
/"
done
done
exit
$errstatus
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# End:
# mkinstalldirs ends here
File Metadata
Details
Attached
Mime Type
text/x-shellscript
Expires
Mon, Dec 23, 2:03 PM (1 d, 19 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
2d/4c/5eda4686146f184f377c00a457f0
Attached To
rP Pinentry
Event Timeline
Log In to Comment