[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Resgatendo valor de uma variável em um loop while
From: |
Rudson |
Subject: |
Resgatendo valor de uma variável em um loop while |
Date: |
Tue, 01 Mar 2011 12:28:39 -0000 |
User-agent: |
eGroups-EW/0.82 |
Olá pessoal,
Fiz um loop para verificar os arquivos xz com defeito em alguns sub-diretórios.
O loop:
LIST=""; find xap/. -name *.txz | while read F; do if xz -t $F 2>/dev/null;
then echo "[Ok] - $F"; else echo -e "\e[31;1m[Error] $F\e[m"; LIST="$LIST\n$F";
fi; done; echo -e "List of Erros: $LIST"
O loop em si funcionou muito bem, mas tive um retorno o qual não compreendi, da
variável LIST.
A meu ver, esta variável deveria conter os nomes dos arquivos com erro na
compactação, ao final do loop. Verifiquei com o debug de linha de comando (set
-x) e vi que a variável LIST estava sendo preenchida adequadamente, mas ao
final do loop, seu valor é perdido, retornando uma string vazia.
...
+ echo -e '\e[31;1m[Error] xap/./blackbox-0.70.1-x86_64-4.txz\e[m'
[Error] xap/./blackbox-0.70.1-x86_64-4.txz
+ LIST='\nxap/./blackbox-0.70.1-x86_64-4.txz'
...
+ echo -e '\e[31;1m[Error] xap/./sane-1.0.22-x86_64-1.txz\e[m'
[Error] xap/./sane-1.0.22-x86_64-1.txz
+ LIST='\nxap/./blackbox-0.70.1-x86_64-4.txz\nxap/./sane-1.0.22-x86_64-1.txz'
+ read F
...
+ read F
+ echo -e 'List of Erros: '
List of Erros:
Como pode ser visto acima, a variável é preenchida adequadamente, mas no echo
final ela parece desaparecer. Verifiquei com um echo após a execução e a
variável está mesmo vazia. Me parece algum problema de escopo de variável ou no
meu bash, realmente não sei.
Aqui, segue a linha aberta para ficar mais claro:
LIST=""
find xap/. -name *.txz | while read F; do
if xz -t $F 2>/dev/null; then
echo "[Ok] - $F";
else
echo -e "\e[31;1m[Error] $F\e[m"; LIST="$LIST\n$F";
fi;
done;
echo -e "List of Erros: $LIST"
Alguém poderia explicar isto?
- Resgatendo valor de uma variável em um loop while,
Rudson <=
- Re: [shell-script] Resgatendo valor de uma variável em um loop while, Julio C. Neves, 2011/03/01
- Re: [shell-script] Resgatendo valor de uma variável em um loop while, rudsonalves, 2011/03/05
- Re: [shell-script] Resgatendo valor de uma variável em um loop while, Julio C. Neves, 2011/03/05
- Re: [shell-script] Resgatendo valor de uma variável em um loop while, rudsonalves, 2011/03/06
- Re: [shell-script] Resgatendo valor de uma variável em um loop while, Fabricio Candido, 2011/03/07
- Re: [shell-script] Resgatendo valor de uma variável em um loop while, Julio C. Neves, 2011/03/07