The attached script fixes the problem by adding a conditional. Its not a beautiful solution, but the original has similar workarounds:
("# IFS parsing is broken") Someone should forward upstream (whatever that is these days) and beautify to taste. The original complaint is at [1]. Justin PS. Greetings from Potsdam, NY, USA! References [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=141347 #!/bin/sh # $Xorg: mkdirhier.sh,v 1.3 2000/08/17 19:41:53 cpqbld Exp $ # Courtesy of Paul Eggert newline=' ' IFS=$newline case ${1--} in -*) echo >&2 "mkdirhier: usage: mkdirhier directory ..."; exit 1 esac status= 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=/;; # See Posix 2.3 "path". //*) prefix=//;; /*) prefix=/;; -*) 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 if [ "$path" == "/" ]; then prefix=$path; else prefix=$path/; fi; shift test -d "$path" || { paths=$path for filename do if [ -n "$filename" -a "$filename" != "." ]; then path=$path/$filename paths=$paths$newline$path fi done mkdir $paths || status=$? break } done done exit $status
signature.asc
Description: Digital signature