The scope of a variable is finding out by where you declare it. While you declare a variable in a procedure, only code in that procedure can access or alter the value of that variable. It contain local scope and is called a procedure-level variable. If you declare a variable outside a process, you make it visible to all the process in your script. It is script-level variable, and it contain script-level scope.
How long a variable exists describe its lifetime. The lifetime of script-level variable extends from the time this is declared till the time the script is finished running. At process level, a variable exists only as long as you are in the process. While the procedure exits, the variable is destroyed. Local variables are ideal like temporary storage space while a process is executing. You can have local variables of the similar name in many different procedures because each is identified only by the process in which it is declared.