Вы должны рассмотреть функцию ловушки.См. this и this .
Чтобы перехватить ctrl-c, вы должны определить обработчик, например:
ctrl_c ()
{
# Handler for Control + C Trap
echo ""
echo "Control + C Caught..."
exit
}
И затем указатьчто вы хотите перехватить его с помощью этого обработчика:
trap ctrl_c SIGINT
В качестве альтернативы ...
вы можете запустить скрипт в фоновом режиме, добавив &, например,
$ ./your_script.sh &
Что даст вам идентификатор работы в [квадратных скобках]:
$ ./your_script.sh &
[1] 5183
(в данном случае 1).Когда вы закончите, вы можете завершить процесс с помощью
$ kill %1
Обратите внимание, знак процента указывает на то, что вы ссылаетесь на задание, а не на идентификатор процесса