Running functions in the background

We have already seen in previous chapters that to run any command in the background, we have to terminate the command using &:

    $ command &
  

Similarly, we can make the function run in the background by appending & after the function call. This will make the function run in the background so that the Terminal will be free:

#!/bin/bash 
dobackup() 
{ 
    echo "Started backup" 
    tar -zcvf /dev/st0 /home >/dev/null 2>& 1 
    echo "Completed backup" 
} 
dobackup & 
echo -n "Task...done." 
echo 

Test the script as follows:

    $ chmod +x function_17.sh
    $ ./function_17.sh
  

This should produce the following output:

    Task...done.
    Started backup
    Completed backup
  

Get Learning Linux Shell Scripting - Second Edition 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.