ksh - Lendo uma variável não definida em uma matriz usando o comando read

0

Eu tenho o seguinte script ksh, em que $ 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:

Falta sublinhado na primeira linha do script.

read -A arr <<< "$an_unset_var"

$ an_unset_var é a variável.

    
por Neil 24.04.2018 / 15:50

1 resposta

0

O que faz você pensar que há um elemento vazio na matriz?

% mksh
$ read -A arr <<< "$broda $brode $brodi mlatu"
$ print -l $arr
mlatu
$ 

com mksh R56c ; arr contém um único elemento, e é por isso que ${#arr[*]} retorna uma contagem de 1 ...

    
por 24.04.2018 / 16:31