Using the trap command in Linux bash script

May 01, 2021

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 re-assigning 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" '  0 1 2 15

This will print the message You pressed Control key, when any of the signals SIGINTSIGHUP, or SIGTERM are received by the process:

trap 'rm file.tmp; echo "file.tmp is deleted" ' INT TERM HUP

When any of the SIGINT, SIGTERM, or SIGHUP signals arrive, then they will delete the file.tmp file and print the message.

While using the trap command, if the command string is surrounded by double quotes, then the command substitution and variable substitution will be done during the trap command execution. If the command string is enclosed in single quotes then the command substitution and variable substitution will be done when the signal is detected.

Related Articles

Calculating and reducing the runtime of a script

In this article, we are going to learn how to calculate and reduce the script’s runtime. A simple time command will help in calculating the execution time.PrerequisitesBesides having a terminal open, make sure you have the necessary scripts present in your...

read more

Lorem ipsum dolor sit amet consectetur


Submit a Comment

Your email address will not be published. Required fields are marked *

20 − 2 =