Bash
globale en lokale variabelen
Zoeken…
Invoering
Standaard is elke variabele in bash globaal voor elke functie, script en zelfs de externe shell als u uw variabelen in een script declareert.
Als u wilt dat uw variabele lokaal is voor een functie, kunt u local
om die variabele een nieuwe variabele te geven die onafhankelijk is van het globale bereik en waarvan de waarde alleen toegankelijk is binnen die functie.
Globale variabelen
var="hello"
function foo(){
echo $var
}
foo
Zal duidelijk "hallo" uitvoeren, maar dit werkt ook andersom:
function foo() {
var="hello"
}
foo
echo $var
Zal ook "hello"
Lokale variabelen
function foo() {
local var
var="hello"
}
foo
echo $var
Zal niets uitvoeren, aangezien var een variabele is die lokaal is voor de functie foo en de waarde ervan niet zichtbaar is van buitenaf.
De twee samen mengen
var="hello"
function foo(){
local var="sup?"
echo "inside function, var=$var"
}
foo
echo "outside function, var=$var"
Zal uitvoeren
inside function, var=sup?
outside function, var=hello
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow