Como parar o script de shell se a curvatura falhar

2

Eu tenho script que usei curl quando eu passar parâmetros errados para o script curl falhou, mas o script continua em execução. Eu tentei usar o parâmetro curl -f/--fail , mas o problema não foi resolvido. Qual é a melhor maneira de parar o script?

Eu fundei meu erro. Eu usei o comando curl em outro comando

echo 'curl --fail ... || exit 1'

Depois de remover a onda de comando do eco, torne-se funcionando corretamente. Obrigado pela resposta, também é útil.

    
por Steelflax 16.04.2014 / 13:39

2 respostas

5

Você pode verificar o código de saída usando $? :

exit_status = $?
if [ $exit_status != 0 ]
  then
    exit $exit_status
fi

Se você quiser analisar o status de saída, dê uma olhada na seção Exit codes da página man curl . Existem muitos códigos diferentes, dependendo do motivo da falha.

EDIT: Você também pode usar command1 || command2 . command2 é executado se e somente se command1 falhou:

curl .... || exit 1
    
por 16.04.2014 / 13:50
2

Apenas exit if curl termina com um código de saída diferente de zero:

curl http://www.example.com || exit 1

Ou faça seu script sair por erro:

set -e
curl http://www.example.com
    
por 16.04.2014 / 13:57