Declaring local variables in functions

Whenever we declare a variable in a script, it is accessible to all functions. The variable is global by default. If the variable is modified by any line of script or any function, it will be modified in global scope. This may create problems in certain situations. We will see this problem in the following script,

         echo $name 
echo $name           # name contains John 
hello          # name contains Maya 
echo $name           # name contains Maya 

Test the script as follows:

    $ chmod +x
    $ ./

This should produce the following output:


To make a variable local, we declare it as follows:

    local var=value
    local varName

Let's write ...

Get Learning Linux Shell Scripting - Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.