[Ubuntu-PT 8467] Re: Duvida bash: array
Luiz Gustavo Agostinho
luiz.gustavo.xd gmail.com
Sábado, 29 de Janeiro de 2011 - 09:45:19 UTC
Seu código esta correto, o que acontece é que é criado um Sub-shell.
Tipo uma função com variáveis locais ( Em C por exemplo)
Dê uma olhada neste link: http://mywiki.wooledge.org/BashFAQ/024
<http://mywiki.wooledge.org/BashFAQ/024>Abraço
Em 28 de janeiro de 2011 23:21, Paulo J. S. Pinhal
<paulojspinhal gmail.com>escreveu:
> construi uma pequena rotina, para inserir nome de ficheiros (neste caso
> avi) num array, conforme código abaixo:
>
> n=0 #valores iniciais
> array[1]=10 #apenas para conferir que são alteradas
> array[2]=20 #ciclo while done
> array[3]=30
>
> ls *.avi |
> while read; do
> n=$((n+1));
> array[$n]=$REPLY
> echo $n" / "${array[n]}
> done
>
> echo $n
> for i in $(seq 1 3) #existem apenas 3 files
> do
> echo -n "array[$i] = "; echo ${array[$i]}
> done
>
> acontecem situações que não entendo: não consigo ter acesso (fora do ciclo
> while..end) às variáveis "n" e array[n]. o que acontece é que após aquele
> ciclo as variáveis indicadas retomam os valores iniciais.
>
> como posso ter acesso aos valores atribuidos dentro do ciclo while..done?
> os meus conhecimentos de bash são muito limitados. alguém me pode ajudar?
>
> desde já os meus agradecimentos.
>
> --
> ubuntu-pt mailing list
> ubuntu-pt lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-pt
>
--
Luiz Gustavo de Oliveira Agostinho
Mais informações acerca da lista ubuntu-pt