¿Cómo puedo declarar variables que son locales a funciones? Las vars declaradas regularmente se exportan al ámbito global. Ejemplo:
$ cat t.sh
function locals_test()
{
x="bar"
}
$ echo $x
$ locals_test
$ echo $x
bar
Respuesta1
Usar local
:
local x=bar
Entonces, x
será local para la función. Para declarar, por ejemplo, matrices o números, local
se necesitan las mismas opciones que declare
. La salida serán dos líneas vacías:
#!/bin/bash
function locals_test()
{
local x=bar
}
echo $x
locals_test
echo $x