set -- '1 2' unset var recho ${var-${*:1}} unset var recho ${var=$*} unset var recho ${var=${*:1}} recho "$var" # posix interp 221 unset var recho ${var:-a\ b} recho ${var:=a\ b} recho "$var" set -- 1 2 IFS= unset a b c recho $* recho ${a-$*} recho ${b-${*/}} recho ${c=${*/}} recho "$c" recho ${b-${*,,}} recho ${d-${*,,}} unset -v a b c IFS=$' \t\n' set -- ' ' A=(' ') IFS= unset var var=${*@E} recho "$var" unset var var=${A[*]@E} recho "$var" unset var var=${@@E} recho "$var" unset var var=${A[@]@E} recho "$var" unset novar recho ${novar-${A[*]@E}} unset -v var novar IFS=$' \t\n' set -- 1 2 A=( 1 2 ) IFS= a=$* recho "$a" b=${*@E} recho "$b" unset a b a=${A[*]} recho "$a" b=${A[*]@E} recho "$b" set -- $'\t' A=$1 IFS=$1 [[ ${A[@]} ]] && echo ok 1 [[ ${A[*]} ]] && echo ok 2 [[ ${A[0]} ]] && echo ok 3 IFS=$' \t\n' [[ ${A[@]} ]] && echo ok 4 [[ ${A[*]} ]] && echo ok 5 [[ ${A[0]} ]] && echo ok 6 IFS= [[ ${A[@]} ]] && echo ok 7 [[ ${A[*]} ]] && echo ok 8 [[ ${A[0]} ]] && echo ok 9