Quero fazer um script bash para automatizar uma tarefa simples. Esta tarefa envolve executar um program
(não feito por mim) que faz algo até que o usuário pressione CTRL+C. Depois disso, eu tenho que process the output
. Eu escrevi isto:
#!/bin/bash
program
process the output
program
inicia conforme o esperado, mas quando pressiono CTRL+C, process the output
não é executado. Aposto que meu script sai completamente em CTRL+C.
Como posso conseguir o que preciso?
Responder1
Defina um manipulador de sinal para SIGINT:
trap "echo Ctrl+C received" INT
program
trap - INT
process the output