P.S.:
the full test (proof, as bash is the example i compare against)
script is this:

# proof {{{
a() {
        b() {
                echo "b=$# 1<$1> 2<$2> 3<$3> 4<$4> 5<$5> 6<$6> 7<$7> 8<$8> 
9<$9> 10<${10}> 11<${11}> 12<${12}> 13<${13}> 14<${14}> 15<${15}> 16<${16}> 
17<${17}> 18<${18}> 19<${19}>"
        }
        echo 
$#,1="$1"/$1,2="$2"/$2,3="$3"/$3,4="$4"/$4,5="$5"/$5,6="$6"/$6,'*'="$*"/$*,'@'="$@"/$@,
        echo =1
        b 
$#,1="$1"/$1,2="$2"/$2,3="$3"/$3,4="$4"/$4,5="$5"/$5,6="$6"/$6,'*'="$*"/$*,'@'="$@"/$@,
        echo =2
        echo $#,1= "$1" , $1 , 2= "$2" , $2 , 3= "$3" , $3 , 4= "$4" , $4 , 5= 
"$5" , $5 , 6= "$6" , $6 , '*=' "$*" , $* , '@=' "$@" , $@ ,
        echo =3
        b $#,1= "$1" , $1 , 2= "$2" , $2 , 3= "$3" , $3 , 4= "$4" , $4 , 5= 
"$5" , $5 , 6= "$6" , $6 , '*=' "$*" , $* , '@=' "$@" , $@ ,
}
echo 1
echo "$*"$* $*
echo 2
a "$*"$* $*
echo 3
IFS=:;echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 4
set -- a '' b c
echo "$*"$* $*
echo 5
a "$*"$* $*
echo 6
IFS=': '; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 7
IFS=' :'; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 8
echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 9
IFS=; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 10
IFS= ; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 11
IFS=$'\t'; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 12
IFS=$'\n'; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 13
IFS=$'\\'; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 13.1
IFS=; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 14
set -- '' '' ''
echo 15
echo "$*"$* $*
echo 16
a "$*"$* $*
echo 17
IFS=' '; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 18
IFS=:; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 19
IFS=$'\\'; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 19.1
IFS=; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 20
a $*
echo 21
a "$*"
echo 22
IFS=:; a $*;unset IFS
echo 23
IFS=:; a "$*";unset IFS
echo 24
set -- '' 'a' ''
echo 25
echo "$*"$* $*
echo 26
a "$*"$* $*
echo 27
IFS=' '; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 28
IFS=:; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 29
IFS=$'\\'; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 29.1
IFS=; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 30
a $*
echo 31
a "$*"
echo 32
IFS=:; a $*;unset IFS
echo 33
IFS=:; a "$*";unset IFS
echo 34
set -- '' '' ''
a "$@"
echo 34.1
a $@
echo 34.2
a "$*"
echo 34.3
a $*
echo 35
IFS=':'; a "$@";unset IFS
echo 36
IFS=' '; a "$@";unset IFS
echo 37
IFS=':'; a $@;unset IFS
echo 38
IFS=' '; a $@;unset IFS
echo 39
IFS=':'; a "$*";unset IFS
echo 40
IFS=' '; a "$*";unset IFS
echo 41
IFS=':'; a $*;unset IFS
echo 42
IFS=' '; a $*;unset IFS
echo 43
set -- '' 'a' ''
a "$@"
echo 43.1
a $@
echo 43.2
a "$*"
echo 43.3
a $*
echo 44
IFS=':'; a "$@";unset IFS
echo 45
IFS=' '; a "$@";unset IFS
echo 46
IFS=':'; a $@;unset IFS
echo 47
IFS=' '; a $@;unset IFS
echo 48
IFS=':'; a "$*";unset IFS
echo 49
IFS=' '; a "$*";unset IFS
echo 50
IFS=':'; a $*;unset IFS
echo 51
IFS=' '; a $*;unset IFS
echo 52
set -- a b ''
a "$@"
echo 52.1
a $@
echo 52.2
a "$*"
echo 52.3
a $*
echo 53
IFS=':'; a "$@";unset IFS
echo 54
IFS=' '; a "$@";unset IFS
echo 55
IFS=':'; a $@;unset IFS
echo 56
IFS=' '; a $@;unset IFS
echo 57
IFS=':'; a "$*";unset IFS
echo 58
IFS=' '; a "$*";unset IFS
echo 59
IFS=':'; a $*;unset IFS
echo 60
IFS=' '; a $*;unset IFS
echo 61
set -- a 'b c ' d
a "$@"
echo 61.1
a $@
echo 61.2
a "$*"
echo 61.3
a $*
echo 62
IFS=':'; a "$@";unset IFS
echo 63
IFS=' '; a "$@";unset IFS
echo 64
IFS=':'; a $@;unset IFS
echo 65
IFS=' '; a $@;unset IFS
echo 66
IFS=':'; a "$*";unset IFS
echo 67
IFS=' '; a "$*";unset IFS
echo 68
IFS=':'; a $*;unset IFS
echo 69
IFS=' '; a $*;unset IFS
echo 70
set -- ' a' b 'c '
a "$@"
echo 70.1
a $@
echo 70.2
a "$*"
echo 70.3
a $*
echo 71
IFS=':'; a "$@";unset IFS
echo 72
IFS=' '; a "$@";unset IFS
echo 73
IFS=':'; a $@;unset IFS
echo 74
IFS=' '; a $@;unset IFS
echo 75
IFS=':'; a "$*";unset IFS
echo 76
IFS=' '; a "$*";unset IFS
echo 77
IFS=':'; a $*;unset IFS
echo 78
IFS=' '; a $*;unset IFS
echo 79
set -- ' a' b '  ' 'd '
a "$@"
echo 79.1
a $@
echo 79.2
a "$*"
echo 79.3
a $*
echo 80
IFS=':'; a "$@";unset IFS
echo 81
IFS=' '; a "$@";unset IFS
echo 82
IFS=':'; a $@;unset IFS
echo 83
IFS=' '; a $@;unset IFS
echo 84
IFS=':'; a "$*";unset IFS
echo 85
IFS=' '; a "$*";unset IFS
echo 86
IFS=':'; a $*;unset IFS
echo 87
IFS=' '; a $*;unset IFS
echo 88
set -- '' 'a' '' '' 'a' '' ''
echo 89
echo "$*"$* $*
echo 90
a "$*"$* $*
echo 91
IFS=' '; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 92
IFS=:; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 93
IFS=$'\\'; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 93.1
IFS=; echo "$*"$* $*; a "$*"$* $*;unset IFS
echo 94
a $*
echo 95
a "$*"
echo 96
a $@
echo 97
a "$@"
echo 98
IFS=:; a $*;unset IFS
echo 99
IFS=:; a "$*";unset IFS
echo 100
#}}}

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

Reply via email to