Czy istnieje sposób, aby sprawdzić, co trap
s zostały ustawione (w bieżącej sesji lub skrypcie) w Bash?
Idealnie, chciałbym móc uzyskać listę sygnałów, które mają trap
przypisane do nich, ale jeśli to nie jest możliwe, mogę sprawdzić każdy sygnał indywidualnie.
Odpowiedzi:
4 dla odpowiedzi № 1tak.
Możesz zobaczyć wszystkie pułapki lub pułapki dla określonego sygnału:
$ trap # show all traps for all signals
$ trap -p SIGINT # only show traps for SIGINT
$ trap -p EXIT # only show traps for EXIT
5 dla odpowiedzi nr 2
Zdefiniujmy funkcję w następujący sposób:
$ function f
> {
> echo trapped
> }
Ustawmy pułapkę na funkcję przypisaną do SIGINT
$ trap f SIGINT
Załóżmy ustawione pułapki:
$ trap
trap -- "f" SIGINT
trap -- "" SIGTSTP
trap -- "" SIGTTIN
trap -- "" SIGTTOU