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] > >
