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]