아래 트랩에 문제가 있는 걸까요?
trap cleanup SIGINT
cleanup() {
echo "Exiting script ..."
}
echo
클릭해도 명령이 표시되지 않습니다.Ctrl+c
이 코드 조각은 무한 루프가 있는 대규모 스크립트의 맨 아래에 있습니다 while
.
$ bash --version
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
답변1
트랩은 누를 때 활성화/장착되어야 합니다. Ctrl+C그렇지 않으면 (분명히) 트리거되지 않습니다. 이때 함수도 정의해야 합니다. 이는 코드를 스크립트 상단(처음 부분)으로 이동하는 것을 의미합니다.
또한 아마도 다음 함수를 정의해야 할 것입니다.앞으로트랩을 설치하십시오. 그렇지 않으면 트랩이 그 사이에 트리거되면 "찾을 수 없음" 오류가 발생합니다.
예:
#!/bin/bash
cleanup() { echo 'Exiting script ...'; }
trap cleanup SIGINT
sleep 300