Voce pode colocar um echo $TEST antes do if para ver a saida e entender 
melhor. Em todo caso, no que voce mandou para a lista faltou " ` " 
(crase) no final da linha, no momento da atribuicao de valor a variavel. 
Voce pode usar var=$(comando) tambem.

Abs! Fique com Deus!



Felipe escreveu:
>
>
> 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] <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]
>
> 

Responder a