When an array A has non-zero elements but the expansion of "${A[*]}" is
still
a null string, it is not treated as such for purposes of ${var:-X} expansion
(though $* is treated as null in the same circumstance).

    $ A=(''); set -- ''
    $ echo "<${A[*]:-X}>" "<${*:-X}>"
    <> <X>

    $ IFS=
    $ A=('' ''); set -- '' ''
    $ echo "<${A[*]:-X}>" "<${*:-X}>"
    <> <X>

Reply via email to