shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Array deixa de existir após fim de loop


From: Alfredo Casanova
Subject: Re: [shell-script] Array deixa de existir após fim de loop
Date: Tue, 05 Dec 2017 15:39:20 +0000

Jonathan, eu nunca vi isso acontecer no bash antes, a não ser que você declare a variável como local dentro de uma função. De toda forma, já tinha tentado fazer com declare -a pros dois arrays antes do loop, e mesmo assim ele sai vazio no final.

for i in {1..10}; do j+=1; done ; echo $j
1111111111


On Tue, Dec 5, 2017 at 1:36 PM Jonathan Lessa address@hidden [shell-script] <address@hidden> wrote:
 

Boa tarde!

Aparentemente vc não está inicializando as variáveis antes do while, quando vc as cria dentro de uma estrutura de loop elas são encerradas quando sai do loop.


2017-12-05 12:32 GMT-03:00 Alfredo Casanova address@hidden [shell-script] <address@hidden>:
 

Alguém sabe dizer o motivo? Não encontrei explicação:

cat input
A|1.1.1.1
B|2.2.2.2
C|3.3.3.3
D|4.4.4.4

cat input | while IFS=\| read letra numero; do
   letras+=($letra);
   numeros+=($numero);
   echo "${#letras[@]}: ${letras[@]}";
   echo "${#numeros[@]}: ${numeros[@]}";
done ;
echo "--${numeros[@]}--";
echo "--${letras[@]}--"

1: A
1: 1.1.1.1
2: A B
2: 1.1.1.1 2.2.2.2
3: A B C
3: 1.1.1.1 2.2.2.2 3.3.3.3
4: A B C D
4: 1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4
----
----




--
Att.:
Jonathan Lessa
Licenciado em Informática


reply via email to

[Prev in Thread] Current Thread [Next in Thread]