Eu tenho o seguinte script ksh, onde $ an_unset_var é uma variável não definida que está sendo usada pela primeira vez:
read -A arr <<< "$an_unset var"
echo ${#an_unset_var}
echo ${#arr[*]}
Executando qual, recebo a seguinte saída:
0
1
Por que ler uma variável não definida em uma matriz usando o comando read insere um elemento vazio na matriz? Por que esse elemento vazio seria considerado um elemento contável válido da matriz?
Edição importante:
Sublinhado ausente na primeira linha do script.
read -A arr <<< "$an_unset_var"
$ an_unset_var é a variável
linux
shell-script
ksh
Neil
fonte
fonte
Respostas:
O que faz você pensar que há um elemento vazio na matriz?
isso é com
mksh R56c
;arr
contém um único elemento e é por isso que${#arr[*]}
retorna uma contagem de1
...fonte