fiz o echo na $test antes do "if" e ele não trouxe nenhuma informação, imprimiu uma linha em branco.
A crase faltou aqui no email, porém, no script ta OK. Pq será que o grep não conseguiu achar nada e deu linha em branco? será que pelo fato de ter esse monte de numeros eu tenho que tratar diferente? alguém ja viu isso? Pelo que eu entendi lendo o curso do Julio e outros na net, quando agente usa aspas duplas entendesse que ele irá tratar o que estiver dentro como string, inclusive numeros e espaços. estou errado? Felipe MSN Messenger: flpe...@yahoo.com.br ________________________________ De: Marcus Gmail <marcus.jab...@gmail.com> Para: shell-script@yahoogrupos.com.br Enviadas: Sexta-feira, 17 de Abril de 2009 10:19:22 Assunto: Re: [shell-script] Duvida com o sed/grep 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: flpe...@yahoo. com.br <mailto:flpe007% 40yahoo.com. br> > > Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbusca dos.yahoo. com <http://br.maisbusca dos.yahoo. com> > > [As partes desta mensagem que não continham texto foram removidas] > > 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]