Using traps in function

If we use the trap command inside a function in script, then the reassigned signal behavior will become global inside a script. We can check this effect in the following script example.

Let's write Shell script trap_01.sh as follows:

#!/bin/bash
trap "echo  caught signal SIGINT" SIGINT
trap "echo  caught signal SIGQUIT" 3
trap "echo  caught signal SIGTERM" 15
while :
do
    sleep 50
done

Let's test the program as follows:

$ chmod +x trap_01.sh
$ ./ trap_01.sh

Output:

^Ccaught signal SIGINT
^\Quit (core dumped)
caught signal SIGQUIT

Let's write one more Shell script trap_02.sh as follows:

#!/bin/bash trap "echo caught signal SIGINT" SIGINT trap "echo caught signal SIGQUIT" 3 trap "echo caught signal SIGTERM" 15 trap "echo caught signal ...

Get Learning Linux Shell Scripting now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.