[Ubuntu-PT 8464] Duvida bash: array

Paulo J. S. Pinhal paulojspinhal gmail.com
Sábado, 29 de Janeiro de 2011 - 01:21:36 UTC


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.



Mais informações acerca da lista ubuntu-pt