Bash 트랩 기능 내부에서 어떤 신호가 포착되는지 확인할 수 있는 방법이 있습니까?

Bash 트랩 기능 내부에서 어떤 신호가 포착되는지 확인할 수 있는 방법이 있습니까?

any (catchable) 에 대해 함수가 호출되도록 bash지정하는 스크립트가 있습니다 .trapsignal

typeset -i sig=1
while (( sig < 65 )); do
    trap myfunc $sig
    let sig=sig+1
done

signal어느 것이 캡처되었는지 확인하는 방법이 내 스크립트에 있습니까 ?

답변1

trap "signum=${sig};myfunc" "$sig"

답변2

캡처된 신호 값을 수행하려는 작업에 전달하려고 한다고 가정합니다. 다음과 같이 시도해 보세요.

# 1     SIGHUP
# 2     SIGINT
# 3     SIGQUIT
# 6     SIGABRT
# 9     SIGKILL
# 14    SIGALRM
# 15    SIGTERM

for sig in 1 2 3 6 9 14 15; do
    trap 'echo "caught signal '$sig'..."' $sig
done

관련 정보