첫 번째 명령이 CTRL+C로 중단될 때 작업을 수행해야 하는 Bash 스크립트

첫 번째 명령이 CTRL+C로 중단될 때 작업을 수행해야 하는 Bash 스크립트

간단한 작업을 자동화하기 위해 bash 스크립트를 만들고 싶습니다. 이 작업에는 program사용자가 CTRL+C를 누를 때까지 작업을 수행하는 (내가 만든 것이 아님) 실행이 포함됩니다. 그 후에는 process the output. 나는 이것을 썼다:

#!/bin/bash
program
process the output

program예상대로 시작되지만 Ctrl+C를 누르면 process the output실행되지 않습니다. CTRL+C를 누르면 스크립트가 완전히 종료될 것 같습니다.

나에게 필요한 것을 어떻게 달성할 수 있나요?

답변1

SIGINT에 대한 신호 처리기를 설정합니다.

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

관련 정보