Magazine

Using the Trap Command in Linux Bash Script

Posted on the 01 May 2021 by Satish Kumar @satish_kumar86

If a signal or softwareinterruptis generated while the script is running, then we can define what action is performed by that interrupt handler using thetrapcommand. Thetrapcommand helps us in re-assigning the system response to a particular signal through the user-defined function or commands.

The syntax to use thetrapcommand 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 theSIGINT,SIGTERM, orSIGHUPsignals arrive, then they will delete thefile.tmpfile and print the message.

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


Back to Featured Articles on Logo Paperblog