45 lines
731 B
Text
45 lines
731 B
Text
|
#! /bin/sh
|
||
|
# $NetBSD: mkdir-sh,v 1.1 2004/04/12 14:48:58 heinz Exp $
|
||
|
#
|
||
|
# workaround for the broken "mkdir -p" on Unixware
|
||
|
|
||
|
MKDIRCMD=mkdir
|
||
|
cmdargs="$@"
|
||
|
|
||
|
# variable 'options' is unused
|
||
|
for options in p m; do
|
||
|
if [ $# -lt 1 ]; then
|
||
|
${MKDIRCMD} ${cmdargs}
|
||
|
exit $?
|
||
|
fi
|
||
|
|
||
|
case $1 in
|
||
|
-p) pathopt=-p;
|
||
|
shift;;
|
||
|
-m) modeopt="-m ${2}"
|
||
|
shift;
|
||
|
if [ $# -ne 0 ] ; then
|
||
|
shift
|
||
|
else
|
||
|
${MKDIRCMD} ${cmdargs}
|
||
|
exit $?
|
||
|
fi
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
if [ $# -gt 0 ]; then
|
||
|
while [ $# -gt 0 ]; do
|
||
|
if [ -z "${pathopt}" ]; then
|
||
|
${MKDIRCMD} ${modeopt} -- "$1"
|
||
|
elif [ ! -d $1 ] ; then
|
||
|
${MKDIRCMD} ${pathopt} ${modeopt} -- "$1"
|
||
|
else
|
||
|
: # directory exists, nothing to do
|
||
|
fi
|
||
|
shift
|
||
|
done
|
||
|
else
|
||
|
${MKDIRCMD} ${cmdargs}
|
||
|
fi
|