Criação Bash [RESOLVIDO]

1. Criação Bash [RESOLVIDO]

thiago
lacerdat25

(usa Red Hat)

Enviado em 15/04/2019 - 23:02h

Galera!

Como faço para validar uma string? Quero criar um plugin em bash que funciona assim: vou enviar um comando SNMP para um servidor, se o mesmo voltar com um retorno 'Active', 'Standby', 'Dormant' ou 'busyout'.
Quero validar se a string de retorno é o valor mesmo, como EX: 'Active', a finalidade que se caso algo for diferente dessas 3 palavras, erro total!!

A lógica para verificação já está OK, só falta a validação!

Um abraço a todos!


  


2. MELHOR RESPOSTA

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 16/04/2019 - 16:12h

Vc pode guardar a saída do comando em uma variável e depois fazer condicional. Ex.:

out=$(comando_SNMP)
if [[ $out == "Active" ]]
then
comando_x
elif [[ $out == "Dormant" ]]
then
comando_y
elif [[ $out == "StandBy" ]]
then
comando_z
elif [[ $out == "busyout" ]]
then
comando_j
else
echo "Erro!"
exit 1
fi


--
http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh

3. Re: Criação Bash [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 16/04/2019 - 20:51h


lacerdat25 escreveu:

Galera!

Como faço para validar uma string? Quero criar um plugin em bash que funciona assim: vou enviar um comando SNMP para um servidor, se o mesmo voltar com um retorno 'Active', 'Standby', 'Dormant' ou 'busyout'.
Quero validar se a string de retorno é o valor mesmo, como EX: 'Active', a finalidade que se caso algo for diferente dessas 3 palavras, erro total!!
A lógica para verificação já está OK, só falta a validação!
Um abraço a todos!

Boa noite Lacerda.
Seguem exemplos:
read -p "Informe a STRING: " STRING
[[ ${STRING} =~ (Active|Standby|Dormant) ]] && echo OK || echo NOK
Outro modo:
if grep -Eq '^(Active|Standby|Dormant)$' <<< ${STRING};then echo OK;else echo NOK;fi
Mais um:
awk '{if($0~/^Active$|^Standby$|^Dormant$/) print "OKAY";else print "NOKAY"}' <<< ${STRING}

Importante: echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts