Bom dia pra Todos,

Estou aqui estudando melhor o Shell e me deparei com uma duvida, coloquei o 
seguinte comando no shell:
CMD=`snmpget host OID |sed 's/Hex-STRING: "//'`
Mando exibir o conteudo guardado em $CMD e o resultado é:
Hex-STRING: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00
Ok!
Depois montei um script para testar este resultado, pois sei por exemplo que 
esse código quer dizer "Funcionando" mas antes faço um grep pra pegar apenas o 
que vem depois de Hex-STRING: ou seja quero apenas comparar o 20 20 20 20 20 20 
20 20 20 20 20 20 20 20 20 20 00.
Então guardo isso em uma outra variavel. Por exemplo $TEST.
E coloco da seguinte forma TEST=`snmpget host OID |grep -o "20 20 20 20 20 20 
20 20 20 20 20 20 20 20 20 20 00" e agora comparo com o comando if que coloquei 
no script:

if [ "$TEST" = "20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00" ] ; then
     echo "Funcionando!"
else
    echo "Parado!"
fi

Neste caso a mensagem que deveria ser mostrada na tela seria "Funcionando!", 
porém, a mensagem que está me retornando é "Parado!".

Então minhas duvidas:
1º Fiz algo errado?
2º Isso está muito sujo, e posso deixar o codigo melhor?
 Por que o resultado esperado não fio retornado corretamente?



Obrigado desde Pessoal!

 
 Felipe 
MSN Messenger: flpe...@yahoo.com.br


      Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]

Responder a