set -- 1 2 unset var recho ${var-$@} recho ${var-"$@"} recho ${var-$*} recho ${var-"$*"} unset -v a b c d recho ${a=$@} recho "$a" recho ${b="$@"} recho "$b" recho ${c=$*} recho "$c" recho ${d="$*"} recho "$d" IFS= unset var recho ${var-$@} recho ${var-"$@"} recho ${var-$*} recho ${var-"$*"} unset -v a b c d # Posix interp 221 # there should never be any word splitting because IFS is null recho ${a=$@} recho "$a" recho $a recho ${b="$@"} recho "$b" recho $b recho ${c=$*} recho "$c" recho $c recho ${d="$*"} recho "$d" recho $d unset -v a b c d a=$@ recho $a b="$@" recho $b c=$* recho $c d="$*" recho $d unset -v parameter a b c d