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: [email protected]
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]