The same is true for + expansion:

Multiple words:

$ set -- 1 2; v=( "${#+$@}" ); declare -p v
declare -a v=([0]="1" [1]="2")

Empty string:

$ set --    ; v=( "${#+$@}" ); declare -p v
declare -a v=([0]="")

Nothing:

$ set --    ; v=( "${#+${#+$@}}" ); declare -p v
declare -a v=()

Reply via email to