Como posso declarar variáveis que são locais para funções? Vars declarados regularmente são exportados para o escopo global. Exemplo:
$ cat t.sh
function locals_test()
{
x="bar"
}
$ echo $x
$ locals_test
$ echo $x
bar
Responder1
Usar local
:
local x=bar
Então, x
será local para a função. Para declarar, por exemplo, matrizes ou números, local
são utilizadas as mesmas opções de declare
. A saída será duas linhas vazias:
#!/bin/bash
function locals_test()
{
local x=bar
}
echo $x
locals_test
echo $x