캡처된 신호로 인해 다른 신호가 반복되는 이유는 무엇입니까?

캡처된 신호로 인해 다른 신호가 반복되는 이유는 무엇입니까?

이것은 내 스크립트입니다.

#!/bin/bash

# this is repeat-signal.sh

trap "echo got USR1; wait" USR1
trap "echo got INT" INT

(
  kill -s USR1 $$
  sleep 100
) &

wait

입력을 통해 실행하면 예상대로 인쇄됩니다 ./repeat-signal.sh. 그런 다음 (ctrl+c를 사용하거나 다른 터미널에서) 신호를 "got USR1"보내면 두 줄이 인쇄됩니다.INTkill

got INT
got USR1

나는 그것이 단지 인쇄될 ​​것이라고 생각했다 got INT.

got USR1신호를 보낼 INT때 이 줄이 인쇄되는 이유는 무엇 입니까? INT신호가 어떻게든 USR1신호를 반복하게 만드는 것 같습니다 .

명확히 하기 위해 편집됨:

마지막으로 내 터미널은 다음과 같습니다.

bash-5.0$ ./repeat-signal.sh
got USR1
^Cgot INT
got USR1

편집 2:

실제로 이것은 bash 3.2에서는 발생하는 것 같지만 bash 5.0에서는 발생하지 않습니다.

관련 정보