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: address@hidden <mailto:flpe007%40yahoo.com.br>
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com <http://br.maisbuscados.yahoo.com>
[As partes desta mensagem que não continham texto foram removidas]