como tornar a solicitação de curvar imperturbada em um script bash?

0

Em um script bash, quero fazer uma solicitação de curl que o usuário não perturbe.

trap "cleanup" 1 2 3 13 15

TMP_OUT=$(curl -H "Content-Type: application/json" -X POST -d "$DATA" "${HOST}:${PORT}"'/main/store' 2>/dev/null &)
 wait $!
 if [ $? -ne 0 ]
 then
        fatal "Something went wrong connecting to the service."
 fi

Como faço isso funcionar quando o serviço não funciona? A espera retorna 0 mesmo quando o rc da solicitação de curl é 7 e o script continua, o que não deveria acontecer.

    
por Sk Sk 12.10.2018 / 18:47

1 resposta

0

Tente algo assim:

TMP="$(mktemp)"

curl ifconfig.co 2>/dev/null >"${TMP}" &

wait $!
echo $?

read MY_IP < "${TMP}"
rm "${TMP}"
unset TMP

echo ${MY_IP}

Fundamentalmente, você precisa manter o processo interessante como um filho direto do shell " this ".

Aqui, redirecionamos sua saída para um arquivo temporário e o utilizamos mais tarde usando read .

    
por 12.10.2018 / 20:01

Tags