I'm trying to run this script:

----------------mkdirhier.sh start-------------------
newline='
'
IFS=$newline

case ${1--} in
-*) echo >&2 "mkdirhier: usage: mkdirhier directory ..."; exit 1
esac

status=
echo $directory
for directory
do
        case $directory in
        '')
                echo >&2 "mkdirhier: empty directory name"
                status=1
                continue;;
        *"$newline"*)
                echo >&2 "mkdirhier: directory name contains a newline: 
\`\`$directory''"
                status=1
                continue;;
        ///*) prefix=/
              echo prefix: $prefix;; # See Posix 2.3 "path".
        //*) prefix=//
        echo prefix: $prefix;;
        /*) prefix=/
        echo prefix: $prefix;;
        -*) prefix=./
        echo prefix: $prefix;;
        *) prefix=
        echo prefix: $prefix;;
        esac

        IFS=/
        set x $directory
        case $2 in
            */*)        # IFS parsing is broken
                IFS=' '
                set x `echo $directory | tr / ' '`
                ;;
        esac
        IFS=$newline
        shift

        for filename
        do
                path=$prefix$filename
                prefix=$path/
                shift

                test -d "$path" || {
                        paths=$path
                        for filename
                        do
                                if [ "$filename" != "." ]; then
                                        path=$path/$filename
                                        paths=$paths$newline$path
                                fi
                        done

                        mkdir $paths || status=$?

                        break
                }
        done
  done

exit $status
----------------mkdirhier.sh end--------------------

Input: ./mkdirhier.sh "/home/jgriffin/test/level1/level2" >& out.txt

Here's the output:
prefix: /
mkdir: cannot create directory `//home': No such file or directory
mkdir: cannot create directory `//home/jgriffin': No such host or network path
mkdir: cannot create directory `//home/jgriffin/test': No such host or network 
path
mkdir: cannot create directory `//home/jgriffin/test/level1': No such host or 
network path
mkdir: cannot create directory `//home/jgriffin/test/level1/level2': No such 
host or network path

Why does Cygwin append a extra backslash to the path?

Thanks,
Joseph

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply via email to