achando resultado "shell script" [RESOLVIDO]

1. achando resultado "shell script" [RESOLVIDO]

edgar
edgaroliveirace

(usa Ubuntu)

Enviado em 24/06/2011 - 13:13h

Ola amigos do VOL, estou precisando q uma ajudinha de vcs. estou criando um script q procura o ESSID da rede local com filtro do nome da rede "loja" com esse comando "`iwlist wlan0 scan | awk '{print $1}' | egrep -i "loja" | cut -d '"' -f2 | sed -n 1p 2>&-`", mais as vezes ele nao obtem resultados, queria saber se tem um jeito de fazer um script q fique fazendo loop de N tentativas ate obter um resultado se nao conseguisse obter com N tentativas ele mostraria que nao foi encontrada nenhuma rede.



  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 25/06/2011 - 17:51h

#!/bin/bash
# more http://sekysu.blogspot.com

function _get()
{
iwlist wlan0 scan | \
awk '{print $1}' | \
egrep -i "loja" | \
cut -d '"' -f2 | \
sed -n 1p
}

for i in {1..5}
do
RST=$( _get )
if [ ${#RST} -lt 1 ]
then
echo 'Nao encontrei nenhum ESSID'
else
echo "Encontrei a rede: $RST"
break
fi
done

exit


Este script irá procurar pela rede 5 vezes. Se não encontrar a rede procurada em cada tentativa irá imprimir uma mensagem. Caso contrário imprimirá a rede e encerrará o loop.

Espero que seja isso que estais procurando.

3. Re: achando resultado "shell script" [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/06/2011 - 13:52h

Use aços de repetição
como o for:

for i in {1..10}
do
# seu codigo
sleep 3s
done

repetirá seu código dez vezes entre intervalos de 3 segundos.

Boa sorte!!!


4. Re: achando resultado "shell script" [RESOLVIDO]

edgar
edgaroliveirace

(usa Ubuntu)

Enviado em 24/06/2011 - 14:25h

gostaria de um script que quando encontrasse o resultado "resultado nao nulo" .ele parace e colocasse em um variavel e que tentasse umas 5 vezes no maximo, se o resultado fosse nulo ele daria echo "nao encontrei nenhum ESSID"


5. Re: achando resultado "shell script" [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/06/2011 - 14:44h

function _get(){
iwlist wlan0 scan | \
awk '{print $1}' | \
egrep -i "loja" | \
cut -d '"' -f2 | \
sed -n 1p
}

RST=$( _get )
while [ ${#RST} -gt 0 ]; do
for i in {1..5}; do
RST=$(_get)
done
done
echo $RST
Já que o Sr. não nos deu um exemplo de saida...


6. Re: achando resultado "shell script" [RESOLVIDO]

edgar
edgaroliveirace

(usa Ubuntu)

Enviado em 24/06/2011 - 17:08h

o pior q ele nao dar saida, mesmo achando a rede ou nao dar saida 0. o que eu queria é o seguinte, esse comando iwlist wlan0 scan | awk '{print $1}' | egrep -i "loja" | cut -d '"' -f2 | sed -n 1p. ele procura um essid que tenha o nome loja, as vezes esse comando ele nao tem resultados e fico fazendo ate aparece. queria uma coisa +- assim. essid=`iwlist wlan0 scan | awk '{print $1}' | egrep -i "loja" | cut -d '"' -f2 | sed -n 1p
``se o $essid for nulo ele repita o processo te acha mais que nao tenha mais de 5 a 10 tentativas. nao sei se vc estar entendendo.estou colocando isso como variavel e as vezes ela fica sem resultados, mais ja coloquei como comando e as vezes ela fica nula por causa q nao achou a rede. teste o seu script mais nao deu certo ficou loopando direto nao parou na 5 tentativa.



7. Re: achando resultado "shell script" [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/06/2011 - 17:33h

function _get(){
iwlist wlan0 scan | \
awk '{print $1}' | \
egrep -i "loja" | \
cut -d '"' -f2 | \
sed -n 1p
}

RST=$( _get )
while [ ${#RST} -gt 0 ]
do
for i in {1..10}
do
RST=$( _get )
if [ ${#RST} -gt 0 ]
the
echo $RST
fi
done
done

echo $RST


Cara seria facil se destes um exemplo da saida que estais tendo no pipe:
iwilist wlan0 scan
e o que queres "filtrar"

Nem todo mundo está em uma wan...


8. Re: achando resultado "shell script" [RESOLVIDO]

edgar
edgaroliveirace

(usa Ubuntu)

Enviado em 24/06/2011 - 17:41h

o q eu procuro nesse script e procurar uma rede que contenha o nome "loja". exemplo loja3_net,loja65_net1. o q a em comum e o nome loja, mais as vezes ele nao acha o nome da rede pelo comando iwlist wlan0 scan | awk '{print $1}' | egrep -i "loja" | cut -d '"' -f2 | sed -n 1p, as vezes ele acha na 3 tentativa ou da 2, queria q se esse comando fosse nulo nao tivesse resultado ele repitesse o comando ate achar ou em 5 tentativas. eu fiz uma ganbiara
#!/bin/bash

if [ ! -e `iwlist wlan0 scan | awk '{print $1}' | egrep -i "loja" | cut -d '"' -f2 | sed -n 1p` ]; then
echo "estar ok 1"
elif [ ! -e `iwlist wlan0 scan | awk '{print $1}' | egrep -i "loja" | cut -d '"' -f2 | sed -n 1p` ]; then
echo "estar ok 2"
elif [ ! -e `iwlist wlan0 scan | awk '{print $1}' | egrep -i "loja" | cut -d '"' -f2 | sed -n 1p` ]; then
echo "estar ok 3"
elif [ ! -e `iwlist wlan0 scan | awk '{print $1}' | egrep -i "loja" | cut -d '"' -f2 | sed -n 1p` ]; then
echo "estar ok 4"
elif [ ! -e `iwlist wlan0 scan | awk '{print $1}' | egrep -i "loja" | cut -d '"' -f2 | sed -n 1p` ]; then
echo "estar ok 5"
elif [ ! -e `iwlist wlan0 scan | awk '{print $1}' | egrep -i "loja" | cut -d '"' -f2 | sed -n 1p` ]; then
echo "estar ok 6 $6"
elif [ ! -e `iwlist wlan0 scan | awk '{print $1}' | egrep -i "loja" | cut -d '"' -f2 | sed -n 1p` ]; then
echo "estar ok 7 $*"
elif [ ! -e `iwlist wlan0 scan | awk '{print $1}' | egrep -i "loja" | cut -d '"' -f2 | sed -n 1p` ]; then
echo "estar ok 8"
else
echo"nao foi encontrada nenhuma rede"
fi




9. Re: achando resultado "shell script" [RESOLVIDO]

edgar
edgaroliveirace

(usa Ubuntu)

Enviado em 24/06/2011 - 17:51h

cloquei no terminal e fica loop infinito. mais ele acha a rede

+ '[' 10 -gt 0 ']'
+ for i in '{1..5}'
++ _get
++ iwlist wlan0 scan
++ awk '{print $1}'
++ egrep -i loja
++ cut -d '"' -f2
++ sed -n 1p
+ RST=loja98_net
+ '[' 10 -gt 0 ']'
+ echo loja98_net
loja98_net



10. vc é um monstro!!!

edgar
edgaroliveirace

(usa Ubuntu)

Enviado em 27/06/2011 - 09:40h

vlw ./.ronin vc me ajudou bastante em um projeto q eu estou fazendo aqui. um script q procura qual a placa de rede q vc tem se ela estar conectada se for wireless ela vai procurar a rede e ira conectar, vai procura qual a loja atraves de pinges em varias alias e procurar um ip livre.


11. Re: achando resultado "shell script" [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/06/2011 - 14:59h

Por favor!
Marque o tópico como resolvido e escolha a melhor reposta!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts