invoca um script na falha de um script bash

0

Eu quero executar um script que crie e hospede um site com o servidor apache. se alguma coisa deu errado, eu tenho que reverter todas as alterações que fiz, como excluir a pasta criada, etc.

Eu sei que set -e sai do script enquanto detecta um erro.

Mas o que preciso é executar um script, por exemplo, rollback.sh, enquanto detecta um erro ao sair

    
por Rajesh Rajendran 03.11.2014 / 11:00

1 resposta

1

Dentro do script, você pode usar trap :

err_handler () {
   /path/to/error/handling/script.sh
   exit
}

trap err_handler ERR

Como ERR é interceptado, se algum comando sair com um código de saída diferente de zero, a função err_handler será executada.

Você pode pensar em set -e fazendo isso:

trap 'exit $?' ERR
    
por muru 03.11.2014 / 15:30