[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Depois do done minhas variaveis somem??
From: |
Gentil de Bortoli Jr |
Subject: |
Re: [shell-script] Depois do done minhas variaveis somem?? |
Date: |
Wed, 16 Nov 2005 14:02:21 -0200 |
User-agent: |
Thunderbird 1.4.1 (X11/20051006) |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Rogério, isso acontece pois a variável $REDE que você define dentro do
while só existe no escopo desse laço, o qual foi criado em um sub-shell
(pelo pipe). Quando você termina o while, e por conseqüência o sub-shell
criado por ele, e volta para o shell que iniciou o processo, a variável
$REDE não está definida. Se não me engano, isso foi bem discutido em
algumas mensagens anteriores. Espero não estar falando besteira. Estou
no estado de letargia pós-almoço. :)
Como você reparou, eu enrolei e não dei a solução para esse caso. Mas
envio uma outra sugestão:
#!/bin/bash
for REDE in $(grep : /proc/net/dev | grep -v lo | cut -d : -f 1)
do
let I++
[ "${REDES}" ] && REDES="${REDES}, Rede ${I} = '${REDE}'" \
|| REDES="Rede ${I} = '${REDE}'"
done
echo $REDES
[]s
- --
Gentil de Bortoli Júnior
http://gentil.bortoli.com.br
KeyID: 0x8383E070 - www.keyserver.net
"There Is No Gene For The Human Spirit"
Rogério Poças - Desenvolvimento wrote:
> =============>Corte aqui<==============
> #!/bin/bash
> CONTADOR=1
> cat /proc/net/dev | grep : | grep -v lo | cut -c0-6 |
> while read i
> do
> echo "$i - $CONTADOR"
> REDE="$REDE , rede$CONTADOR = '$i' "
> CONTADOR=`expr $CONTADOR + 1`
> echo -e "$REDE" #Aqui funfa :-)
> done
> echo -e "$REDE" #Aqui não :-(
> =============>Corte aqui<==============
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQFDe1gNU6AHyoOD4HARAiNRAKCuXrM4Fyd/u8PwWkFSSIc+BJNn1ACdE1iW
HSUaftOc0dcZJoiQyuKvVzo=
=EYlo
-----END PGP SIGNATURE-----
Re: [shell-script] Visualizacao de arquivos, Leandro Valiengo, 2005/11/16