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


0

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


Também está sendo discutida em unix e linux
glenn jackman

Respostas:


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
$ 

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


Desculpe, minha culpa. $ an_unset_variable é uma única variável. Devidamente atualizado.
21418 Neil
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.