Pular para o conteúdo

Criação Bash [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Criação Bash [RESOLVIDO]

Enviado em 27/02/2019 - 15:29h

Galera!!!

Estou criando um BASH que coleta do site da anbima o valor DCI mensal.
Estou puxando essa informação via curl, e recebo um valor flutuando EX: "2,40".

Ao fazer a condicional tenho como retorno: line 5: [: "6,40": esperado expressão de número inteiro

Segue exemplo abaixo:
taxa1=`curl -s https://www2.cetip.com.br/ConsultarTaxaDi/ConsultarTaxaDICetip.aspx | jq '.taxa'`

if [ "$taxa1" -eq "6,40" ] ; then
echo "OK - Taxa DI 6,40"
exit 0
else
echo "CRITICO - Mudou o valor da Taxa DI $taxa1"


Poderiam me dar um help?

Obrigado!

Responder tópico

2. Re: Criação Bash

Enviado em 27/02/2019 - 15:47h

Bash não trabalha com float então você teria que usar uma ferramenta externa (como o bc) pra fazer o cálculo.

Uma versão funcional:


#!/bin/bash

taxa1=$(curl -s https://www2.cetip.com.br/ConsultarTaxaDi/ConsultarTaxaDICetip.aspx | jq .taxa | cut -d '"' -f 2 | sed -r 's/,/./g')

if [ $(echo "taxa1 == 6.40" | bc) ] ; then
echo "OK - Taxa DI 6,40"
exit 0
else
echo "CRITICO - Mudou o valor da Taxa DI $taxa1"
fi


./script
OK - Taxa DI 6,40

3. Re: Criação Bash

Enviado em 27/02/2019 - 17:02h

lacerdat25 escreveu:

Galera!!!

Estou criando um BASH que coleta do site da anbima o valor DCI mensal.
Estou puxando essa informação via curl, e recebo um valor flutuando EX: "2,40".

Ao fazer a condicional tenho como retorno: line 5: [: "6,40": esperado expressão de número inteiro

Segue exemplo abaixo:
taxa1=`curl -s https://www2.cetip.com.br/ConsultarTaxaDi/ConsultarTaxaDICetip.aspx | jq '.taxa'`

if [ "$taxa1" -eq "6,40" ] ; then
echo "OK - Taxa DI 6,40"
exit 0
else
echo "CRITICO - Mudou o valor da Taxa DI $taxa1"


Poderiam me dar um help?

Obrigado!
Boa tarde Lacerda.
Segue sugestão:

url="https://www2.cetip.com.br/ConsultarTaxaDi/ConsultarTaxaDICetip.aspx";
curl -s "$url"|awk -F'"[:,]"' '{if($2 == "6,40") print "OK - Taxa DI ",$2;else print "CRITICO: Mudou o Valor da taxa DI ",$2}'
OK - Taxa DI 6,40
Att.:
Marcelo Oliver

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder