If a signal or software interrupt is generated while the script is running, then we can define what action is performed by that interrupt handler using the trap
command. The trap
command helps us in reassigning the system response to a particular signal through the user defined function or commands.
The syntax to use the trap
command is either of the following:
$ trap 'command; command' signal-name $ trap 'command; command' signal-number
The usage as per the preceding syntax is as follows:
trap 'echo "You pressed Control key"; exit 1' 0 1 2 15
This will print the message You pressed Control Key
, any SIGINT
, SIGHUP
, or SIGTERM
received by the process:
trap 'rm file.tmp; exit 1' EXIT INT TERM HUP
When any of the SIGINT
, SIGTERM
, or SIGHUP
signals arrives, then it will delete the file.tmp
file and exit with status 1.
While using the trap
command, if the command string is surrounded by double quotes, then the command substitution and variable substitution will be done...