declare: “atributos adicionais não entram em vigor até atribuições subsequentes”

2

Do manual do Bash para o comando declare :

When using -a or -A and the compound assignment syntax to create array variables, additional attributes do not take effect until subsequent assignments.

O que isso significa?

Eu não consigo descobrir por

$ declare -ar arr=([1]=2, [2]=3)
$ declare -p arr
declare -ar arr='([1]="2," [2]="3")'

Obrigado.

    
por Tim 29.07.2017 / 00:01

1 resposta

1

O que ele diz é que atributos diferentes de -a e -A não terão nenhum efeito durante a primeira tarefa.

Exemplo com o atributo de maiúsculas:

$ declare -a -u array=( hello )
$ printf '%s\n' "${array[@]}"
hello
$ array+=( world )
$ printf '%s\n' "${array[@]}"
hello
WORLD
    
por 29.07.2017 / 00:56

Tags