Bash
variables globales y locales
Buscar..
Introducción
De forma predeterminada, cada variable en bash es global para cada función, script e incluso el shell externo si está declarando sus variables dentro de un script.
Si desea que su variable sea local a una función, puede usar local
para tener esa variable como una nueva variable que es independiente del alcance global y cuyo valor solo será accesible dentro de esa función.
Variables globales
var="hello"
function foo(){
echo $var
}
foo
Obviamente saldrá "hola", pero esto funciona al revés también:
function foo() {
var="hello"
}
foo
echo $var
También saldrá "hello"
Variables locales
function foo() {
local var
var="hello"
}
foo
echo $var
No generará nada, ya que var es una variable local de la función foo, y su valor no es visible desde fuera de ella.
Mezclando los dos juntos.
var="hello"
function foo(){
local var="sup?"
echo "inside function, var=$var"
}
foo
echo "outside function, var=$var"
Saldrá
inside function, var=sup?
outside function, var=hello
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow