Script Bash que debería hacer cosas cuando se interrumpe el primer comando CTRL+C

Script Bash que debería hacer cosas cuando se interrumpe el primer comando CTRL+C

Quiero crear un script bash para automatizar una tarea sencilla. Esta tarea implica ejecutar un program(no hecho por mí) que hace algo hasta que el usuario presiona CTRL+C. Después de eso, tengo que hacerlo process the output. He escrito esto:

#!/bin/bash
program
process the output

programcomienza como se esperaba, pero cuando presiono CTRL+C, process the outputno se ejecuta. Apuesto a que mi secuencia de comandos simplemente sale por completo con CTRL+C.

¿Cómo puedo lograr lo que necesito?

Respuesta1

Establezca un controlador de señal para SIGINT:

trap "echo Ctrl+C received" INT
program
trap - INT
process the output

información relacionada